1 / 16
文档名称:

C语言程序设计.ppt

格式:ppt   大小:271KB   页数:16页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C语言程序设计.ppt

上传人:q1188830 2019/12/24 文件大小:271 KB

下载得到文件列表

C语言程序设计.ppt

相关文档

文档介绍

文档介绍:C语言程序设计同学们好!下面开始讲授C语言课程的第13讲内容。第13、14讲结构与联合一、结构类型的定义二、结构变量的定义和初始化三、结构成员的访问操作四、使用结构的程序举例五、结构与函数六、结构与链表七、联合八、使用结构类型的应用编程举例第13讲结构与联合(1) 一、结构类型的定义二、结构变量的定义和初始化三、结构成员的访问操作四、使用结构的程序举例五、结构与函数第13讲结构与联合(1)一、结构类型的定义二、结构变量的定义和初始化三、结构成员的访问操作四、使用结构的程序举例五、结构与函数1C语言程序设计一、结构类型的定义(一)结构的概念结构是一种复合(组合)数据类型,其中可以包含多个不同类型的数据成员(域)。如描述一个职工的信息,可以包含职工号、姓名、年龄、职务、工资等,每个数据项(成员、域)可能具有不同的类型,合起来构成一个结构类型。职工结构类型中的每个职工的具体信息,可以用具有职工结构类型的一个对象(变量)保存起来。如{“0238”,“刘亮”,45,“讲师",}就是一条职工信息,可以用该类型的一个变量保存起来。第13讲结构与联合(1)一、结构类型的定义二、结构变量的定义和初始化三、结构成员的访问操作四、使用结构的程序举例五、结构与函数2C语言程序设计(二)结构类型的定义格式 struct<结构类型名> //结构头{ //结构体<成员类型1> <成员名1>; <成员类型2> <成员名2>; ······· <成员类型n> <成员名n>; }; //必须带有分号结束各成员类型为已经定义过的数据类型,各成员名为符合命名规定的标识符,当若干个数据成员具有同一成员类型时,可以合并书写,各成员名之间用逗号分开。第13讲结构与联合(1)一、结构类型的定义二、结构变量的定义和初始化三、结构成员的访问操作四、使用结构的程序举例五、结构与函数3C语言程序设计(三)定义格式举例(1)structA{ //结构类型A包含3个整数类型的数据成员a,b,c inta,b,c; //该类型对象占用12字节存储空间, }; //即类型长度为12,它等于各数据成员的类型长度之和(2)structB{ //结构类型B包含4个数据成员,理论长度为17 charch; //实际(物理)长度为机器字长的整数倍, intx,y; //通过sizeof(structB)计算,其值至少为20 doublez; };第13讲结构与联合(1)一、结构类型的定义二、结构变量的定义和初始化三、结构成员的访问操作四、使用结构的程序举例五、结构与函数4C语言程序设计(3)structC{ //一个字符指针数据成员cp和一个整型数组成员a[5] char*cp; inta[5]; }; //理论长度为24字节(4)structD{ //理论长度为12字节 int*a; int*ap; intmaxsize; }; (5)structE{ //又含有另一个结构类型的数据成员b intd,*e; structBb; };第13讲结构与联合(1)一、结构类型的定义二、结构变量的定义和初始化三、结构成员的访问操作四、使用结构的程序举例五、结构与函数5C语言程序设计(6)structF{ //含有指向本身结构类型的指针成员,长度为12 doubledata; //不能含有本身结构类型的数据成员 structF*next; }; (四)利用typedef语句定义结构类型的别名 structnode{intdata;structnode*next;}; typedefstructnodeNodeType; //把NodeType定义为structnode NodeTypex={25,0}; //相当于:structnodex={25,0};第13讲结构与联合(1)一、结构类型的定义二、结构变量的定义和初始化三、结构成员的访问操作四、使用结构的程序举例五、结构与函数6C语言程序设计二、结构变量的定义和初始化(一)用结构类型名定义变量结构类型定义:structABC{inta,b;doublec;}; (1)structABCx,y; //定义x和y为具有ABC结构类型的变量,每个变量都包含3个域,分别为a,b,c域,a和b存整数,c存双精度数(2)structABCa1,a2={2,5,}; //a2被初始化a=2,b=5,c= //初始化数据被放在括号内,用逗号分开(3)structABCa3={1,2,},a4=a3; //a4里的a=1,b=2,c=//用a3初始化a4,对应成员值相同(4)structABCa[5],*b=a; //定义a[5]为结构数组,每个元素为结构//变量,b为结构指针变量,用a的值初始化b,b也指向数组a第13讲结构与联合(1)