第10章 构体与共用体.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第10章 结构体与共用体 10.1用typedef说明一种新类型名 C语言可以用typedef说明一种新类型名,说明新类型名的语名一般形式为: typedef 类型名 标识符; 10.2结构体类型 10.2结构体类型 10.3结构体类型变量的定义 10.3结构体类型变量的定义 (1)先声明结构体类型,再定义结构变量 struct student { int number;//学号 char name[10];//姓名 char sex;//性别 int age;//年龄 char addr[30];//寝室 } ; 10.3结构体类型变量的定义 (2)在声明结构体类型的同时定义结构变量 struct 结构体名 { 〈成员表列〉 }〈结构变量表列; 10.3结构体类型变量的定义 (3)直接定义结构变量 即省略结构体名。一般形式为: struct { 成员表列 }结构变量表列; 10.4结构体变量的引用 对于结构体变量,虽然是一个整体,但在C中不能作为一个整体直接引用,而只能通过引用其中的具体数据项(成员)来引用它。 引用的一般格式为: 结构体变量名.数据项名 10.4结构体变量的引用 在引用中应遵循以下原则: (1)如果成员本身又是一个结构体类型时,则必须逐级找到最低一级的成员才能使用。 (2)允许将一个结构变量直接赋值给另一个具有相同结构的结构变量。 10.5结构体数组 struct stu { int num; char name[20]; char sex; float score; }; struct stu student[3]; 10.5结构体数组 结构体数组的初始化: struct stu { long int num; char name[20]; char sex; float score; } student[3]={{200001,Li li,W,99}, {200002,Wang hai,M,85}, {200003,Liu ying,W,50}}; 10.6指向结构体类型数据的指针 指向结构体变量的指针 【例】通过结构体指针引用结构体成员。 #include stdio.h struct stu { int num; char name[20]; char sex; float score; }st1={102,Zhang ping,M,78.5},*s; main() { s=st1; /*给结构体指针变量赋值*/ printf(Number=%d\tName=%s\t,st1.num, ); printf(Sex=%c\tScore=%f\n, st1.sex, st1.score); printf(Number=%d\tName=%s\t,(*s).num,(*s).name); printf(Sex=%c\tScore=%f\n,(*s).sex,(*s).score); printf(Number=%d\tName=%s\t,s-num,s-name); printf(Sex=%c\tScore=%f\n,s-sex,s-score); } 10.6指向结构体类型数据的指针 指向结构体数组的指针 【例】用指针变量输出结构数组。 #include stdio.h struct stu { long int num; char name[20]; char sex; float score; }student[3]={{200001,Li li,W,99},{200002,Wang hai,M,85}, {200003,Liuying ,W,50}}; main() { struct stu *s; printf(Num\tName\t\tSex\tScore\t\n); for(s=student;sstudent+3;s++) printf(%ld\t%-10s\t%c\t%f\t\n,s-num,s-name, s-sex,s-score); } 10.6指向结构体类型数据的指针 10.6指向结构体类型数据的指针 用结构体变量和指向结构体的指针作为函数参数 将一个结构体变量的值传递给另一个函数,有如下方法: (1)结构体变量的成员作为实参传递给主调函数。 (2)可以用结构体变量作为一个整体实参。 (3)C语言中,允许将结构体变量的地址作为实参传递,这时,对应的形参应该是一个基类型相同的结构体类型的指针。 10.7 链表 所谓链表,指的是一

文档评论(0)

fmm40085 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档