- 1、本文档共43页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十四章_结构体 共用体和用户定义的类型
结构体:是一种自定义 的 构造数据类型。 用途:把不同类型的数据组合成一个整体。 14.1.2 结构体变量 1、结构体变量的定义 (1)、先定义结构体类型,再定义结构体变量 一般形式: (2)、定义结构体类型的同时定义结构体变量 一般形式: 2、结构体变量的初始化 和其他类型的变量相同,在定义结构体变量时赋初值 形式一: 3 结构体变量的引用 引用规则 结构体变量不能整体引用,只能引用变量成员 指针引用结构体变量中数据 指针变量名-成员名 (*指针变量名).成员名 struct student { char name[12]; char sex; struct date birthday; float sc[4]; }std,arr[5],*ps; ps=std; 引用结构体变量std中的sex成员,可写作: std.sex ps-sex (*ps).sex 14.1.3 结构体数组 1、结构体数组的定义和初始化 定义:三种形式: 初始化:与其他类型的数组赋初值的方法相同 14.2 向函数传递结构体型数据 1.向函数传递结构体变量的成员 普通变量作函数的实参的用法相同,形参与实参之间仍然是“值传递”的方式。 2.向函数传递结构体变量 ANSI C允许函数之间传递结构体变量。若实参是结构体变量,那么形参也应是同类型的结构体变量。 3.向函数传递结构体数组名 若实参是结构体数组名,那么形参也应是同类型的结构体变量。 #include stdio.h typedef stuct { int num; double mark; }REC; void sub1(REC x){x.num=23;x.mark=81.5;} void sub2(REC y[]){y[0].num=12;y[0].mark=77.5;} main() { REC a={16,90.0}, b[]=16,90.0}; sub1(a); printf(“A)%d,%5.1lf\n”,a.num,a.mark); sub2(b); printf(“B)%d,%5.1lf\n”,b[0].num,b[0].mark); } 结果: 16, 90.0 12,77.5 读入五位用户的姓名和电话号码,按姓名字典顺序排序后,输出用户的姓名和电话号码. #include stdio.h #include string.h #define N 5 typedef struct { char name[20]; char num[10]; }USER; void getdata(USER *sp); void getsort(USER *sp); void outdata(USER *sp); main() { USER sp[N]; getdata(sp); getsort(sp); outdata(sp); } void getdata(USER *sp) { int i; printf(“Enter name phone number:\n”); for(i=0;iN;i++) { gets(sp[i].name); gets(sp[i].num);} } void getsort(USER *sp) { int i,j,k; USER temp; for(i=0;iN-1;i++) {k=i; for(j=i+1;jN;j++) if(strcmp(sp[k].name,sp[j].name)0) k=j; temp=sp[k]; sp[k]=sp[i];sp[i]=temp; } } void outdata(USER *sp) { int i; printf(“after sort:\n”); for(i=0;iN;i++) printf(“%s,%s\n”,sp[i].name,sp[i].num); } 14.3 共用体 有时需要将几个不同时出现的变量共享一个内存单元.如:将一个整型变量、实型变量、字符型变量共同放入同一个地址空间(当然这几个变量不能同时用),怎么办?C提供了共用体(联合体)类型支持。 14.3.1 共用体类型 14.5、结构体指针的使用1.链表。链表的建立、遍历、查找、插入、删除操作 链表 什么是链表?
您可能关注的文档
- 第3章 工业机器人.ppt
- 第3章 跨国并购.ppt
- 第3章(3-7、8、9).ppt
- 第3章photoshop教程.ppt
- 第3章 软件工具.ppt
- 第3章国民收入决定--收入支出模型(精).ppt
- 第3章:嵌入式系统软件基础.ppt
- 第3章平面和平面系统.ppt
- 第3节 酸和碱的性质.ppt
- 第4-5章 基因的表达、基因突变及其他变异.doc
- 高三生物一轮复习课件第8课时 酶和ATP.pptx
- 高三生物一轮复习课件 细胞中的元素和化合物,细胞中的无机物.pptx
- 2025年中考物理复习答题技巧与模板构建专题04热学必考的三个重点实验(解析版).docx
- 高三生物一轮复习课件:细胞核的结构和功能.pptx
- 高三生物一轮复习课件:光合作用的影响因素及其应用课件.pptx
- 高三生物一轮复习课件:细胞膜与细胞核.pptx
- 高三生物一轮复习课件蛋白质与核酸.pptx
- 高三一轮复习生物:细胞呼吸的原理和应用课件(1).pptx
- 高三生物一轮复习课件第8讲+酶和ATP.pptx
- 2.2基因在染色体上课件高一下学期生物人教版(2019)必修2 (2).pptx
最近下载
- 35KV变电站施工方案【参考】.doc VIP
- 乡村学校教育质量提升的策略研究教学研究课题报告.docx
- 垃圾回收仓库管理制度.docx VIP
- 广东省深圳市罗湖区2023-2024学年四年级下学期7月期末英语试题(含答案).doc VIP
- 2023年山东省高中物理合格考真题 .pdf VIP
- 低空经济产业基地项目经济效益分析报告(范文参考).docx
- 论大学生实习期间劳动权益保障困境与突破路径.docx
- 2024年北京市中考物理试题(含答案及解析).docx
- DLT526-2013 备用电源自动投入装置技术条件.pdf VIP
- 2025年心理咨询师专业技能知识考试题库(浓缩500题).docx
文档评论(0)