1 / 39
文档名称:

构造数据类型和储存形式.ppt

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

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

分享

预览

构造数据类型和储存形式.ppt

上传人:sanshenglu2 2020/3/2 文件大小:1.18 MB

下载得到文件列表

构造数据类型和储存形式.ppt

相关文档

文档介绍

文档介绍:构造数据类型和储存形式这种多项组合又有内在联系的的数据称为结构体(structure)。它是可以由用户自己定义的。(即整型、实型、字符型等)的变量,还介绍了构造类型—数组,而数组中的元素是属于同一类型的。但在实际应用中,有时需要将一些有相互联系而类型不同的数据组合成一个有机的整体,以便于引用。如学生学籍档案中的学号、姓名、性别、年龄、成绩、地址等数据,对每个学生来说,除了其各项的值不同外,但表示形式是一样的。 {分量表};其中“分量表”中的分量也应进行类型说明,即: 类型标识符分量名;例如: structstudent {intnum; charname[20]; charsex; intage; floatscore; charaddr[30]; };由用户定义的“结构体类型”,可以同标准类型一样作为定义变量的类型。相当于PASCAL语言中的记录(record)。、先定义结构体类型再定义变量名定义了结构体类型structstudent后,可以用它定义变量。如: structstudentst1,st2;注:不能写成structst1,st2;必须同时指定结构体名。为了方便起见,可以在程序开头定义符号常量进行简化。如:#defineSTUDENTstructstudent则在程序中可以直接写成: STUDENT {intnum; charname[20]; charsex; intage; floatscore; charaddr[30]; }; STUDENTst1,st2;二、在定义类型的同时定义变量如:structstudent {intnum; charname[20]; charsex; intage; floatscore; charaddr[30]; }st1,st2;则一般定义形式为: struct结构体名 { 分量表; }变量表;关于结构体类型的几点说明类型与变量是两个不同的概念。一般先定义结构体类型,再定义变量为该类型。变量可以赋值、存取或运算,而类型没有这些操作。在编译时,对变量分配空间,对类型来说不存在分配空间。对结构体中的分量可以单独使用。三、直接定义结构类型变量定义形式为: struct { 分量表; }变量表;在struct后不出现结构体名,因此也不能再以此定义相同的结构体变量。分量也可以是一个结构体变量。如student中要增加birthday,则可按如下方式进行定义:structdate {intmonth; intday; intyear; }; structstudent { structdatebirthday; }st1,st2;分量名可以与程序中的变量名相同,两者之间不会产生混淆。,结构体变量的存储形式如:structstudent{ unsignedNo; charname[20]; charsex; floatscore;};structstudentx1={8906,“LiMing”,‘M’,};8906No2000200220212022name[20]\02023sexscore2026共用27个字节的连续单元引用结构体变量应遵守如下规则:1)结构体变量中分量的引用方式为: 结构体变量名分量名[二级分量名]其中:“”为分量运算符,在所有的运算符中优先级最高。2)结构体变量的分量本身又属于结构体类型时只能对最低级分量进行操作。如: 、、。,只会引起警告错误。