结构体、联合体、枚举

结构体、联合体、枚举

ID:43089959

大小:307.31 KB

页数:37页

时间:2019-09-29

结构体、联合体、枚举_第1页
结构体、联合体、枚举_第2页
结构体、联合体、枚举_第3页
结构体、联合体、枚举_第4页
结构体、联合体、枚举_第5页
资源描述:

《结构体、联合体、枚举》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、结构体数据类型C数据类型基本类型构造类型指针类型空类型整型浮点型字符型枚举类型单精度浮点型双精度浮点型数组类型结构体类型联合体类型结构体类型的定义结构体类型定义的一般形式为:struct结构体名{类型名1成员名1;……类型名n成员名n;};struct是结构体类型的标志。结构体名是由用户定义的标识符,它规定了所定义的结构体类型的名称。结构体类型的组成成分称为成员,成员名的命名规则与变量名相同。结构体类型的定义结构体类型定义形式例如:structperson{charname[20];charsex;intage;floatheight;};表示定义了一个结构体类型——structper

2、son,它由name、sex、age和height四个成员组成。练习:定义一个结构体类型structstudent,要求包含学生姓名、学号、数学成绩、英语成绩、计算机成绩、总分、邮政编码、通讯地址。结构体类型的定义在结构体类型定义中要注意以下几点:结构体类型定义中可以包含另外的结构体,即结构体是可以嵌套的。例如:structdate{intyear;intmonth;intday;};structperson{charname[20];charsex;structdatebirthday;floatheight;};结构体类型变量一、结构体变量的定义定义结构体类型,只是说明了该类型的组

3、成情况,编译系统并没有给它分配内存空间,就象系统不为int等类型本身分配空间一样。只有当定义属于结构体类型的变量时,系统才会分配存储空间给该变量。结构体类型变量一、结构体变量的定义1.先定义结构体类型,再定义变量。例如:structperson{charname[20];charsex;intage;floatheight;};structpersonper;表示先定义了结构体类型structperson,然后定义了一个structperson类型的结构体变量per。结构体类型变量一、结构体变量的定义结构体变量占用的内存空间是其成员所占内存之和,因此per占用的内存空间为20+1+4+

4、4=27个字节。结构体变量中的各成员在内存中按定义的顺序依次排列。注意:定义变量时,structperson必须在一起使用,它的用法与int、char等类型名的用法相同。成员名所占空间(字节数)nameheightagesex20144结构体类型变量二、结构体变量的引用(1)对结构体变量中成员的引用引用的一般形式为:结构体变量名.成员名结构体类型变量(1)对结构体变量中成员的引用#includestructperson{charname[20];charsex;structdata{intyear;intmonth;intday;};floatheight;};voi

5、dmain(){personper;databirthday;printf("Enterthename:");gets(per.name);per.sex=’M’;per.birthday.year=1982;per.birthday.year++;per.birthday.month=12;per.birthday.day=15;per.height=(175+176)/2;printf("%s%3c%4d/%2d/%d%7.1f",per.name,per.sex,per.birthday.month,per.birthday.day,per.birthday.year,per

6、.height);}结构体数组一、结构体数组的定义定义结构体数组的方法和定义结构体变量的方法一样,只是必须说明其为数组。例如:structperson{charname[20];charsex;intage;floatheight;};structpersonper[3];成员名sexnameageheightsexnameageheightsexnameageheight数组元素per[0]per[1]per[2]结构体数组一、结构体数组的定义定义结构体变量的三种方法都可以用来定义结构体数组。例如:structperson{charname[20];charsex;intage;fl

7、oatheight;}per[3];struct{charname[20];charsex;intage;floatheight;}per[3];结构体数组二、结构体数组的初始化和一般数组一样,结构体数组也可以进行初始化。structperson{charname[20];charsex;intage;floatheight;}per[3]={{"LiPing",’M’,20,175},{"WangLing",’W’,19,162.5},{"Z

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。