9 结构体及共用体.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文档。上传文档
查看更多
第9章 结构体与共用体 对于由多种不同类型的数据组成的数据实体,C语言可以用“结构体”数据类型来描述。每一个成员可以是一个简单数据类型,也可以是一个结构体数据类型。 9.1 定义一个结构的一般形式 9.1.1 数据类型与变量的区别 数据类型只是说明了一个数据结构的模式,但不定义变量,并不要求分配实际的存储空间。 变量具有三要素:名字、数据类型、值,变量要分配存储空间。例:int a=100 。 9.1.2 结构体类型定义的一般形式 结构体类型的定义形式为: struct 结构体类型名 { 成员说明列表 }; 其中,花括号内的内容是该结构体类型的成员说明,每个成员说明的形式为: 类型符 成员名; 例如,由年、月、日组成的结构体类型为: struct date { int year; int month; int day; }; 又如,一个职工实体的结构体类型为: struct employee { long no; /* 编号 */ char name[10]; /* 姓名 */ char sex; /* 性别 */ struct date birth; /* 出生日期 */ char education[20]; /* 文化程度 */ double salary; /* 工资 */ long IDcard; /* 身份证号码 */ char addr[40]; /* 住址 */ }; struct employee是程序设计者自己定义的类型,它与系统预定义的标准类型(如int,char,float等)一样,可以用来定义变量,使变量具有struct employee类型。 例如: struct employee worker , workers[20] ; 例9.1 分析以下程序,指出程序运行结果。 void main() { struct employee worker,workers[20]; printf(%d,%d\n, sizeof(struct date),sizeof(struct employee)); printf(%d,%d\n,sizeof(worker),sizeof(workers)); } 9.2 结构体类型变量 9.2.1 结构体类型变量的定义 1. 先定义结构体类型,再定义结构体类型变量 struct employee worker, workman ; 为使用方便,在程序开头,加上命令: #define WORK_TYPE struct employee WORK_TYPE { long no; char name[10]; char sex; struct date birth; char education[20]; double salary; long IDcard; char addr[40]; }; 以上三种方法中定义的结构体变量teacher,doctor都具有下图所示的结构。 9.2.2 结构体变量的使用 引用一个结构体变量有两种方式:通过结构体变量名和通过指向结构体的指针变量。 ”.”和”-”两种符号。 1. 由结构体变量名引用其成员 结构体变量名.成员名 例如: teacher.no = 124260 ; 如果成员本身又是一个结构则必须逐级找到最低级的成员才能使用。例如: teacher.birth.year = 11 ; 2. 由指向结构体的指针变量引用结构体成员 指针变量名-成员名 例如,有如下的结构体变量的定义: struct node { int x ; double y ; }s , t , *p ; s.x = 6 ; s.y = 80.5?; p = t ; p-x = 11 ; p-y = 78.4 9.2.3 结构体变量的初始化 例如: struct smail { char name[12]?; char addr[40]?; long zip ; long tel ; }teacher={“Li Ming” , “Blue Road 18” , 333403 , 8466611} ; 注意,不能写成以下的形式: struct smail { char name[12]?= Li Ming; char addr[40] = Blue Road 18?;

文档评论(0)

187****5045 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档