C语言程序设计(第三版) 丁亚涛 第9章 结构体、共用体和枚举

C语言程序设计(第三版) 丁亚涛 第9章 结构体、共用体和枚举

ID:40238559

大小:750.50 KB

页数:66页

时间:2019-07-28

C语言程序设计(第三版) 丁亚涛 第9章 结构体、共用体和枚举_第1页
C语言程序设计(第三版) 丁亚涛 第9章 结构体、共用体和枚举_第2页
C语言程序设计(第三版) 丁亚涛 第9章 结构体、共用体和枚举_第3页
C语言程序设计(第三版) 丁亚涛 第9章 结构体、共用体和枚举_第4页
C语言程序设计(第三版) 丁亚涛 第9章 结构体、共用体和枚举_第5页
资源描述:

《C语言程序设计(第三版) 丁亚涛 第9章 结构体、共用体和枚举》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第9章结构体、共用体与枚举21世纪高等学校精品规划教材了解结构体、共用体和枚举类型的特点熟练掌握结构体类型、变量、数组、指针变量的定义、初始化和成员的引用方法掌握共用体和枚举类型、变量的定义和引用掌握用户自定义类型的定义和使用9.1结构体【问题】如何表示下面的数据?王云平、18岁、男、学号2010010001、汉族、北京、手机号13901000001可以定义以下变量来分别表示上面的数据:charname[10];intage;charsex[3];charxh[11];charnation[20];charaddress[20];charmobile[20];由于必须类型相同才能构造成数

2、组,显然以前学习的数据类型都不能很好地解决问题9.1.1结构体类型的定义结构体类型的定义形式为:struct类型名{成员说明表列};例如:structstudent/*结构体类型名*/{charname[10];/*结构体成员,以下都是*/intage;charsex[3];charxh[11];charnation[20];charaddress[20];chartel[20];};9.1.1结构体类型的定义struct是结构体关键字,结构体类型定义中的每个成员项都有确定的类型和名称,称为结构体类型的“域”,每个域的定义后面要有“;”号。结构体类型由用户定义,所以结构体类型不是固定结构

3、的类型,用户可以定义不同结构的结构体类型,也可以定义相同结构的结构体类型,系统均认为是不同的结构体类型,例如下面是两个不同的结构体类型,虽然aa和bb的结构是一样的:structaa{inta;intb;charc;}structbb{inta;intb;charc;}9.1.2结构体变量的定义和初始化定义结构体变量的方法可以如下:用已定义的结构体类型名定义变量。例如:structstudentwang,zhang;在定义结构体类型的同时定义结构体变量。例如:structstudent/*结构体类型名*/{charname[10];/*结构体成员,以下都是*/intage;charsex

4、[3];charxh[11];charnation[20];charaddress[20];chartel[20];}wang,zhang;9.1.2结构体变量的定义和初始化不定义结构体类型名,直接定义结构体变量。例如:struct{charname[10];intage;charsex[3];charxh[11];charnation[20];charaddress[20];chartel[20];}wang,zhang;结构体类型的长度结构体类型的长度可以用sizeof运算符计算出来,形式为:sizeof(结构体类型名)或者sizeof(变量名)如sizeof(structstude

5、nt)或sizeof(wang),在TC和VC下,结果分别是:86和88。结构体类型的嵌套structdate{intyear;intmonth;intday;};structstudent{charname[10];intage;charsex[3];charxh[11];structdatebirthday;charnation[20];charaddress[20];chartel[20];}wang,zhang;structstudent{charname[10];intage;charsex[2];charxh[11];struct{intyear;intmonth;intda

6、y;}birthday;charnation[20];charaddress[20];chartel[20];}wang,zhang;结构体类型变量的初始化定义的同时初始化structstudentwang={"王云平",18,"男","2010010001","汉族","北京","13901000001"},zhang={"张丽",18,"男","2010010002","汉族","广州","13901000002"};注意初始化的数据及其类型要与各个成员一一对应,对于包含嵌套结构体类型的变量,其嵌套部分的初始化也按顺序赋初值structstudentwang={"王云平",18,"男

7、","2010010001",2010,3,3,"汉族","北京","13901000001"};9.1.3结构体变量的引用数组元素的引用采用数组名和下标结合的引用方法,例如a[2]、b[5]等。结构体变量其成员的引用则采用成员运算符“.”来完成,格式为:结构体变量名.成员名或结构体变量名.结构体成员名.….结构体成员名.基本成员名后者是指包含嵌套的结构体类型。例如前面定义的变量wang,其成员引用如下:wang.agewang.b

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

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

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