结构体、共用体和用户定义类型.pptxVIP

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第13章 复杂数据类型本章要点理解结构体的含义、定义与使用方法理解共用体的含义、定义与使用方法理解枚举类型的含义、定义与使用方法理解typedef的作用与使用方法掌握链表操作的基本方法本章难点有关链表的操作用结构体变量和指向结构体的指针作函数参数第一页,共三十二页。13.1 结构体 概述有时,需将不同类型的数据组合成一个有机的整体,以便于引用。这些数据是相互联系的。如一个学生的有关信息:可采用结构体数据结构描述上述信息。第二页,共三十二页。例如:是类型,不是变量名struct student{int num; char name[20]; char sex; int age; char addr[30];};定义一个结构体类型的一般形式为:struct 结构体名 {成员表列};对各成员都要进行类型说明;成员名定名规则与变量名同。第三页,共三十二页。11.1.1 结构体类型的声明声明的一般形式为:struct 结构名{成员1的说明;成员2的说明;……成员n的说明;} ;struct medicine{ char code; /*药品代号*/ char name; /*药品名称*/ float price; /*单价*/ char place; /*产地*/ stuct goods caption ; /*来源地*/};第四页,共三十二页。11.1.2 结构体变量方法一:先定义结构体类型再定义变量名struct student{int num; char name[20]; char sex; int age; char addr[30];};struct student student1, student2;不能只指定一个变量为“struct型”而不指定结构体名定义studet1和sudent2为struct student类型变量第五页,共三十二页。有时,可用符号常量代表一个结构体类型,如:#define STUDENT struct studentSTUDENT{int num; char name[20]; char sex; int age; char addr[30];};这样,可直接用STUDENT定义变量,如:STUDENT student1, student2;此时,不必再写关键字struct第六页,共三十二页。方法二:在定义类型的同时定义变量,如:struct student{int num; char name[20]; char sex; int age; char addr[30];}student1, student2;一般形式是:struct 结构体名 { 成员表列 }变量名表列;第七页,共三十二页。结构体变量的存储 一个结构体变量所占用内存空间的字节数可以用sizeof运算符求出,它的一般形式为:sizeof(变量名或类型标识符);struct test{int m1[10];char m2;float m3;double m4;}aa; sizeof(struct test)的值为2*10+1+4+8=33 第八页,共三十二页。几点说明:1. 类型与变量是不同概念,不要混淆;2. 结构体中的成员,可以单独使用,其作 用与地位相当于普通变量;3. 成员也可以是一个结构体变量;例如:struct date {int month; int day; int year; };Struct student{int num;char name[20];int age;struct date birthday;}student1,student2;4. 成员名可以与程序中的变量名相同,二者不代表同一对象。第九页,共三十二页。11.1.3 结构体变量的引用与初始化规则:1. 不能将一个结构体变量作为一个整体进行赋值和输出;只能对其各个成员分别输出(引用形式为:结构体变量名.成员名)。printf(“………..”,student1);printf(“ %d”, student1.num); 输出 10010错!正确!2 .若成员本身又属一个结构体类型,只能对最低级的成员进行赋值或存取以及运算。如:student1.birthday.year (下页续)第十页,共三十二页。(接上片)3. 对成员变量可以象普通变量一样进行各种运算,如: sumage=student1.age+student2.age;4. 可以引用成员的地址,也可以引用结构体变量的地址,如 scanf(“%d”,& student1.num); printf(“%o”,&student1); s

文档评论(0)

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

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

认证主体吴**

1亿VIP精品文档

相关文档

相关课程推荐