C语言程序设计 刘克成 等 chap8

C语言程序设计 刘克成 等 chap8

ID:40238497

大小:839.00 KB

页数:59页

时间:2019-07-28

C语言程序设计 刘克成 等 chap8_第1页
C语言程序设计 刘克成 等 chap8_第2页
C语言程序设计 刘克成 等 chap8_第3页
C语言程序设计 刘克成 等 chap8_第4页
C语言程序设计 刘克成 等 chap8_第5页
资源描述:

《C语言程序设计 刘克成 等 chap8》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第8章结构体、共用体与枚举类型教学目的:掌握结构体类型和共用体类型的定义掌握结构体类型和共用体类型变量掌握结构体类型数组的使用掌握结构体类型指针掌握结构体与函数掌握简单链表的应用了解位段结构掌握枚举类型并能用typedef自定义类型语言程序设计第8章结构体、共用体与枚举类型C1教学内容:结构体共用体位段结构枚举类型用typedef定义类型结构体综合应用举例语言程序设计第8章结构体、共用体与枚举类型C28.1结构体语言程序设计第8章结构体、共用体与枚举类型C在实际问题中,一个实体通常是由一组具有不同数据类型的数据构成的。如,一个学生实体的数据包括学

2、号、姓名、性别、出生年月、成绩、家庭地址等,这些项都与某一学生相联系但各项的数据类型又不同。对于这样一个实体,显然不能用数组来描述,因为数组中各元素的类型和长度都必须一致;也不可为实体的每个子项定义独立的变量,这样则体现不了各个子项间的内在联系。为解决由多种不同类型数据组成的数据实体这个问题,C语言提供了另一种构造数据类型--结构体数据类型。38.1.1结构体类型的定义结构体是一种构造数据类型,用于把不同类型的数据组合成一个整体------自定义数据类型。结构体类型的定义:struct[结构体名]{类型说明符成员名;类型说明符成员名;…………….

3、};成员类型可以是基本或构造类型struct是关键字,不能省略合法标识符可省:无名结构体此处的分号不可省成员类似数组中的数组元素语言程序设计第8章结构体、共用体与枚举类型C4例:structstudent{intnum;charname[20];charsex;intage;floatscore;charaddr[30];};结构体类型定义描述结构的组织形式,不是定义变量,不分配内存结构体的成员名,不是变量名namenumsexagescoreaddr2字节2字节20字节1字节4字节30字节……..对应于该类型结构体的一个变量的各个成员在内存中的

4、存储格式语言程序设计第8章结构体、共用体与枚举类型C5结构体类型还可以嵌套定义,既一个结构体成员可以是其他结构体类型但这种嵌套不能包含自身,既不能由自己定义自己。例:structdate{intyear;/*年*/intmonth;/*月*/intday;/*日*/};structstudent{intnum;/*学号*/charname[20];/*姓名*/charsex;/*性别*/floatscore;/*成绩*/charaddr[40];/*家庭住址*/structdatebirthday;/*出生日期*/};或:structstuden

5、t{intnum;charname[20];structdate{intyear;intmonth;intday;}birthday;};此处嵌套定义了两个结构体类型:student和date;在后续的程序中这两个类型均可使用语言程序设计第8章结构体、共用体与枚举类型C68.1.2结构体类型变量结构体类型变量的定义:结构体定义之后,即可进行变量定义。定义结构体类型变量,有以下三种方法。先定义结构体类型,再定义结构体变量例structstudent{intnum;charname[20];charsex;intage;floatscore;char

6、addr[30];};structstudentstu1,stu2;一般形式:struct结构体名{类型标识符成员名;类型标识符成员名;…………….};struct结构体名变量名表列;为了使用方便,也可以用宏定义使一个符号常量来表示一个结构体类型,例如:#defineSTUstructstudentSTU{intnum;charname[20];charsex;intage;floatscore;charaddr[30];};STUstu1,stu2;语言程序设计第8章结构体、共用体与枚举类型C7一般形式:struct结构体名{类型标识符成员名;

7、类型标识符成员名;…………….}变量名表列;例structstudent{intnum;charname[20];charsex;intage;floatscore;charaddr[30];}stu1,stu2;定义结构体类型的同时定义结构体变量语言程序设计第8章结构体、共用体与枚举类型C8一般形式:struct{类型标识符成员名;类型标识符成员名;…………….}变量名表列;例struct{intnum;charname[20];charsex;intage;floatscore;charaddr[30];}stu1,stu2;直接定义结构体类

8、型变量用无名结构体直接定义变量只能一次,不能在其他地方使用该类型定义其它变量例:struct{intid;floatscore;}a;s

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

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

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