- 1、本文档共73页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第九章结构体、共用体和枚举类型数据
第9章 结构体、共用体和枚举类型数据; 9.1 结构体类型数据;;;例:struct student
{ int num;
char name[20];
char sex;
int age;
char addr[30];
} x1, x2;;定义形式 struct
{成员表列} 变量名表列;
不出现结构体类型名;1. 类型名与变量名是不同的概念
2. 每一个成员的作用如同该类型的变量
3. 成员名与程序中的变量名可相同但意义不同;2、 结构体变量初始化; 若 x1 的起始地址为2000,则 x1 在内存中占有的存储单元为:;结构定义与变量定义及初始化合二为一:; 如:x1为struct student型变量,则
x1.No: 表示x1的学号
x1.name: 表示x1的名字 ;2)箭头运算符:?;若有 struct student h;;1、 结构体数组的定义;对外部结构数组或静态结构数组可以作初始化赋值,例如: struct stu{int num;char *name;char sex;float score;}boy[5]={{101,Li ping,M,45},{102,Zhang ping,M,62.5},{103,He fang,F,92.5},{104,Cheng ling,F,87},{105,Wang ming,M,58} } ;;main(){ int i,c=0; float ave,s=0; for(i=0;i5;i++) { s+=boy[i].score; if(boy[i].score60) c+=1; } printf(s=%f\n,s); ave=s/5; printf(average=%f\ncount=%d\n,ave,c);};3、结构体数组的引用;;9.1.4 结构体变量作为函数参数;1、指向结构体变量的指针;与前面讨论的各类指针变量相同,结构指针变量也必须要先赋值后才能使用。
赋值是把结构变量的首地址赋予该指针变量,不能把结构名赋予该指针变量。如果boy是被说明为stu类型的结构变量,则:
pstu=boy
是正确的,而:
pstu=stu
是错误的。;
其访问的一般形式为:
(*结构指针变量).成员名
或为:
结构指针变量-成员名
例如:
(*pstu).num
或者:
pstu-num
应该注意(*pstu)两侧的括号不可少,因为成员符“.”的优先级高于“*”。如去掉括号写作*pstu.num则等效于*(pstu.num),这样,意义就完全不对了。;2、指向结构体数组的指针;main()
{struct stu *ps;
printf(No\tName\t\t\tSex\tScore\t\n);
for(ps=boy;psboy+5;ps++)
printf(%d\t%s\t\t%c\t%f\t\n,ps-num,ps-name,ps-sex,ps-score);};应该注意的是,一个结构指针变量虽然可以用来访问结构变量或结构数组元素的成员,但是,不能使它指向一个成员。也就是说不允许取一个成员的地址来赋予它。因此,下面的赋值是错误的。
ps=boy[1].sex;
而只能是:
ps=boy;(赋予数组首地址)
或者是:
ps=boy[0];(赋予0号元素首地址); 9.2 共用体类型数据;1、共用体变量的定义;2、 共用体与结构体比较;3、 共用体变量的引用;(1)虽然共用体变量可以存储几种不同类型的成员,但在在同一时刻,只能存储其中的一个,即只能有一个成员起作用。
(2)共用体变量中起作用的是最后一次存放的成员,以前存放的成员皆失效。例如顺序执行 a.x=12; a.y=‘A’; a.z=23.5;语句后,只有成员a.z 有效。
(3)共用体变量的地址和它的各成员的地址都相同。即a、a.x、a.y、a.z的地址都相同。;(4)不能单独引用共用体变量名,也不能在定义共用体变量时对其初始化。
例如:union data
{ int x
您可能关注的文档
- 第三章继电器_接触器控制系统设计2011.ppt
- 第三章自定义数据结构.ppt
- 第三章节一元一次方程复习演示课件.ppt
- 第三章节人类社会-其进展规律.ppt
- 第三章节节消费者行为理论.ppt
- 第三章节联系数据库基准语言SQL 8.ppt
- 第三章血液生理学.ppt
- 第三章节向量线联系秩.ppt
- 第三章节区间估量-假设检验.ppt
- 第三章薄膜制备技术-溅射法.ppt
- 小学科学:ESP8266智能插座电路原理与动手实践研究教学研究课题报告.docx
- 《金融开放浪潮下我国多层次监管体系构建与创新研究》教学研究课题报告.docx
- 区域教育质量监测中人工智能应用的数据质量分析与优化策略教学研究课题报告.docx
- 《金融科技监管中的数据治理与合规性要求》教学研究课题报告.docx
- 《3D打印技术在航空航天领域中的多材料制造与复合材料应用》教学研究课题报告.docx
- 《绿色金融发展中的政府职能与市场机制研究》教学研究课题报告.docx
- 《植物工厂多层立体栽培光环境调控技术对植物生长发育节律的调控机制探讨》教学研究课题报告.docx
- 销售团队年度业绩总结.docx
- 银行风险管理与金融危机防范.docx
- 银行网络攻击预警与快速响应机制.docx
最近下载
- 建设项目环境影响评价现状评价报告-中化云龙有限公司.PDF VIP
- 智能家居门窗控制系统设计.doc VIP
- cpl随钻测井介绍资料.ppt VIP
- 关于医药行业上市公司财务分析--以恒瑞医药为例.docx VIP
- 乡村非遗文化传承与乡村振兴战略中的文化传承与产业融合报告.docx VIP
- 小学生课前准备课件.pptx VIP
- 大隐静脉曲张患者的术后护理研究进展.docx VIP
- cpl随钻测井介绍.pptx VIP
- 乡村非遗文化传承与乡村振兴战略中的文化传承与乡村振兴报告.docx VIP
- 2025年山东烟台莱阳市结合事业单位招聘征集本科及以上学历毕业生入伍笔试备考题库及答案详解一套.docx VIP
文档评论(0)