C语言基础:构造数据类型-结构体 memcpy系统函数

发布时间:2026/11/14 17:48:26

C语言基础:构造数据类型-结构体 memcpy系统函数 11、const修饰的指针const只读。只允许被访问不允许修改表示该变量只允许使用不允许被修改记得初始化const int num1const int *p; //同下 int const *p; //修饰*p*p的内容只读*pnum ×pnum √ int *const p; //修饰p指针p只读pnum × const int *const p; //同下 int const *const p; //指针p只读*p内容只读记得初始化12、void* 指针万能指针void*缺省类型的指针char*int*short*...这些指针不仅保存地址还有具体指向明确指向sizeof基类型个字节的空间void *p只是一个保存地址编号的变量void*--------char*int*short*...*int *pmemcpy系统函数#includestring.h memcpy(void *dst,const void *src,sizrof(a)) 内存重叠问题#includestdio.h #includestring.h void *mymemcpy(void *dst,const void *src,int size) { char *d(char *)dst; char *s(char *)src; int i0; for(i0;isize;i) { *(di)*(si); } return dst; } void show_mymencpy(void *dst,int len) { int i; char *d(char *)dst; for(i0;ilen;i) { printf(%c ,d[i]); } printf(\n); } int main() { char a1[100]{hello}; char a2[100]{0}; mymemcpy(a2,a1,sizeof(a1)); //int lenstrlen(a2); int lensizeof(a2)/sizeof(a2[0]); show_mymencpy(a2,len); }构造数据类型数据类型short、int、long、char、float、double、void指针类型构造数据类型结构体、共用体、枚举1、结构体1语法struct 名字{数据类型 成员1数据类型 成员2数据类型 成员3...};//声明了名为struct data的新的数据类型 struct data { int year; int mon; int day; struct time mytime; };注意1、声明结构体时{ }后的分号不可省略2、结构体内成员之间用分号隔开3、struct后面的名称可以省略匿名结构体4、结构体放在全局作用域2结构体变量定义结构体类型 变量名struct data mydatastruct{int year;int mon;int day;}mydata;声明结构体类型的同时定义了变量mydata3结构体初始化//全部初始化 struct data mydata{202686} struct data mydatatime{{2026,8,6},{14,6}}; //部分初始化 struct data mydata1 { .mon8, .day6 };4结构体数据成员访问通过结构体变量访问结构体成员变量名.成员1变量名.成员2变量名.成员3printf(%d,%d,%d, mydata.year, mydata.mon, mydata.day, };通过结构体指针访问结构体成员结构体指针-成员1结构体指针-成员2结构体指针-成员35结构体的存储方式原则1.结构体成员在内存中存储时成员必须存储在自己字节大小的整数倍位置2.结构体整体占内存大小一定是结构体中最大成员字节数的整数倍注意1.在不同操作位系统下相同结构体在内存中占用内存空间可能不一样。64位系统long类型和指针类型占8字节而32位系统long类型和指针类型占4字节2.可以强制让结构体按指定字节数对齐#pragma pack(1)//以下强制按1字节对齐 struct s {} #pragma pack()//取消1字节对齐6结构体做函数参数两种传参方式如果要在被调函数中修改主调函数中的结构体变量则传递结构体变量的地址如果在被调函数中仅使用主调函数中定义的结构体变量可以值传递也可以地址传递#includestdio.h struct stu { char name[32]; int age; int score; }; struct stu get_stu_info() { struct stu s; scanf(%s,s.name); scanf(%d,s.age); scanf(%d,s.score); return s; } void get_stu_info_1(struct stu *s) { scanf(%s,s-name); scanf(%d,s-age); scanf(%d,s-score); } int main() { struct stu s; sget_stu_info(); printf(%s %d %d\n,s.name,s.age,s.score); get_stu_info_1(s); printf(%s %d %d\n,s.name,s.age,s.score); return 0; }7.结构体数组struct 名称 数组名[元素个数]struct stu array[3]{{zhangsan,20,100},{lisi,21,90},{wanger,22,85}};array[下标]类型---》struct stu类型结构体数组的三种访问方式 printf(%s %d %d\n,s[i].name,s[i].age,s[i].score); printf(%s %d %d\n,(si)-name,(si)-age,(si)-score); printf(%s %d %d\n,(*(si)).name,(*(si)).age,(*(si)).score);
延伸阅读

更多相关文章

2026/11/14 4:32:47

商品数据向量化:自定义向量函数适配向量数据库检索需求

在电商行业的数字化转型进程中,商品检索效率与精准度直接影响用户体验和转化效率。传统基于关键词匹配的检索模式,难以满足用户对“语义相似、场景适配”的检索需求,例如用户搜索“夏季透气连衣裙”,传统检索可能遗漏“夏季薄款透…

2026/11/14 17:47:21

在郑州哪里学电工证良心建议:学历不高也能轻松报名

在郑州哪里学电工证良心建议:学历不高也能轻松报名 你是不是也在纠结“在郑州哪里学电工证”?怕自己学历不高报不上名?别担心,我来告诉你一个 良心建议 :只要符合报考条件,学历不是问题,关键是你怎么选对报名机构。…

2026/11/14 17:47:21

电工证怎么考唐山怎么拿电子证书

电工证怎么考唐山怎么拿电子证书 你是不是也遇到过这种情况, 不知道去哪报名怕被中介坑 ,好不容易找到个报名点,结果要么收费高得离谱,要么压根不靠谱?尤其是 电工证怎么考唐山 这样的问题,很多人一上来就懵了。其实,只要你掌握了正确的流程,…

2026/11/14 17:47:21

宣城低压电工证怎么选?良心建议帮你避开这些坑

宣城低压电工证怎么选?良心建议帮你避开这些坑 之前考的证在外省能不能转过来?这个问题我听得太多了,尤其是像你这样在周口做中小型施工企业负责人的朋友,很多时候跑项目、做工程,跨省工作是常态。可证书不认,那岂不是白忙活?今天我就从一个干了十年的…

2026/11/14 17:47:21

南阳考电工证考场在哪千万别踩坑

南阳考电工证考场在哪千万别踩坑 怕考不过白交培训费,南阳考电工证考场在哪,报名前这些坑你必须知道。电工证是进入电气行业的门槛,但很多人因为不懂流程、选错培训机构,结果钱花了却没拿到证,甚至考试都不知道在哪考。别再走弯路了,今天就从南阳考电工…

2026/11/14 17:42:21

电工作业其他称呼含金量高不高?低学历也能拿证

电工作业其他称呼含金量高不高?低学历也能拿证 你是不是也担心, 学历不高怕报不上名 ?电工作业在行业内还有不少其他称呼,比如“电气操作工”“电工技师”“配电工”等等,但不管叫什么,只要能拿到证,含金量照样摆在那儿。很多低学历的朋友其实也能顺…

2026/11/13 22:33:32

电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。…

2026/11/14 0:06:39

土木特种工考证官方报名入口怎么找 之前考的证在外省能不能转过来

土木特种工考证官方报名入口怎么找 之前考的证在外省能不能转过来 之前考的证在外省能不能转过来?这个问题我太熟悉了,作为一名干了十几年的特种作业证书办理从业者,每年都会遇到不少像你一样在外地考了证,回来却发现无法直接使用的学员。别急,今天我就…

2026/11/14 0:06:39

电工证要多久多钱保姆级教程:工地太忙根本没时间复习考试

电工证要多久多钱保姆级教程:工地太忙根本没时间复习考试 工地太忙根本没时间复习考试,你不是一个人。在信阳浉河区,很多刚进入工地的电工都面临这样的困境:工作强度大,时间碎片化,根本没有系统复习考试的机会。但电工证是上岗的硬门槛,…

2026/11/13 22:32:11

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/13 12:14:39

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑