欢迎来到天天文库
浏览记录
ID:52125953
大小:398.34 KB
页数:38页
时间:2020-04-01
《构造型数据类型之结构体.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、4.2结构体4.2.1结构体的概念一个数组由类型相同的元素组成,但有些数据类型可能由性质不同的成员组成,这些成员相互关联组成一个整体数据。例如,一个职工的工作证号(number)、姓名(name)、性别(sex)、年龄(age)、部门(department)、工资(wage)等,这些成员都属于某个职工的数据项,如果分别定义成相互独立的变量,则不能体现它们之间的内在联系,而在程序中应该把它们视为同一个数据类型的成员。第4章构造型数据类型之结构体第4章构造型数据类型之结构体利用C语言的结构体类型就可完成这一功能。例如:structstaff{char number[
2、8];char name[10];charsex;intage;chardep[20];float wage[2];};number数组name数组sex成员age成员dep成员wage成员structstaff这样定义的结构体所需的空间是每个成员所需空间之和。这个structstaff共需要47个字节第4章构造型数据类型之结构体以上定义了一个结构体类型structstaff,它包含了number、name、sex、age、dep、wage等不同类型的数据项。这样就可在程序中使用structstaff类型的变量,把一个职工的相关信息合在一起,组成一个整体来处理。此
3、时,就可以用structstaff这个类型定义出变量。第4章构造型数据类型之结构体例如下面程序段:structstaff worker;/*定义一个structstaff类型的变量worker*/worker.sex=’M’;/*给worker变量的sex成员赋值’M’*/strcpy(worker.name,”李大磊”);/*给worker变量的name成员赋值”李大磊”*/printf(“姓名:%s性别:%c\n”,worker.name,worker.sex);/*输出worker变量的数据*/第4章构造型数据类型之结构体4.2.2结构体类型及结构体变量1
4、.结构体类型说明的一般形式struct结构体名{类型名1结构体成员名表1;类型名2结构体成员名表2;……类型名n结构体成员名表n;};第4章构造型数据类型之结构体说明:(1)结构体类型名和结构体变量名由用户命名,命名规则与标识符命名规则相同(即与变量命名规则相同)。(2)每个“结构体成员名表”都可以含有多个相同类型的成员名,它们之间以逗号隔开。结构体成员的命名规则与变量名的命名规则相同。结构体成员名允许与该结构体外的变量重名,不同结构体中的成员也可以同名,它们代表不同的对象,互不干扰。(3)结构体成员的类型可以是基本类型、数组、共用体、指针、空类型或已说明过的结构
5、体类型等。(4)其中struct是C语言的关键字,是结构体类型的引导字,用于说明结构体类型以及定义结构体变量。第4章构造型数据类型之结构体(5)结构体说明的花括号后要以分号“;”结尾。例如一本书有书号、书名、作者、价格、简介等数据项,可以定义书的结构体类型如下:structbook_type{intnum;charname[60];charwriter[30];floatprice;charbrief[300];};这个分号不能少第4章构造型数据类型之结构体结构体成员也可以是一个结构体变量,即结构体允许嵌套结构。例如:下面语句定义了一个有嵌套结构的结构体。str
6、uctdate{unsignedcharmonth;unsignedcharday;unsignedyear;};structstaff{charnumber[8];charname[10];structdatebirthday;intage;chardep[20];floatwage[2];};结构体类型说明只是说明了一个构造型数据类型,系统没有分配任何存储空间。必须定义相应结构体类型的变量,系统才为该变量分配存储空间。类型与变量是不同的概念。第4章构造型数据类型之结构体2.结构体变量的四种定义方式(1)紧跟在类型说明之后定义变量、数组例如:structbook
7、_type{intnum;charname[60];charwriter[30];floatprice;charbrief[300];}bookl,books[3];此处:在说明结构体类型structbook_type的同时,定义了一个结构体变量bookl与一个结构体数组books,数组books有三个元素:books[0]、books[1]、books[2]。这种定义变量的一般形式为:struct结构体名{结构体成员表}变量名表;第4章构造型数据类型之结构体(2)先说明结构体类型,再单独进行变量、数组定义例如:structstaff{char number[
此文档下载收益归作者所有