1.结构体类型的定义
构造类型是由相同或不同的数据类型组合而成的。数组是构造类型,但它只能存放数据类型相同的一批数据。为了能将不同数据类型的数据存放在一起,C语言规定用户可以自己定义一种数据类型来存放类型不同的数据。这种数据类型就称为“结构型”。
例如,一个人的有关信息就是由不同数据类型的数据组合而成的,姓名是字符串型(用字符数组来存放)、性别是字符型(用M表示男性、用F表示女性)、年龄是整型、工资是实型等。这样就可以定义含有一个字符数组、一个字符型、一个整型、一个实型的数据为一个结构型数据。
又如,一个学生的下列信息也可以定义为另一种结构型数据:
这种结构型数组中可以定义成包含一个长整型、一个字符数组、一个字符型、一个整型、三个实型的结构型数组,也可以将其中的三个实型定义为一个实型数组。
在同一个程序中,可以定义若干个不同的结构型。
定义一个结构的一般形式为:
成员名的命名应符合标识符的书写规定。
例如:
在这个结构定义中,结构名为stu,该结构由4个成员组成。第一个成员为num,定义成整型变量;第二个成员为name,定义成字符数组;第三个成员为sex,定义成字符变量;第四个成员为score,定义成实型变量。应注意在括号后的分号是不可少的。结构定义之后,即可进行变量说明。凡说明为结构stu的变量,都由上述4个成员组成。由此可见,结构是一种复杂的数据类型,是数目固定、类型不同的若干有序变量的集合。
结构型的定义是可以嵌套的,即某个结构型成员的数据类型可以说明为另一个已定义的结构类型。例如下列名为person1的结构型就是嵌套定义的。
};(www.xing528.com)
注意:名为“birthday”的结构型定义必须在结构型“person1”的定义之前进行,否则,结构型“person1”定义时,会出现“birthday结构型未定义”的错误。
2.结构变量的定义
定义结构变量有以下三种方法。以上面定义的stu为例来加以说明。
1.先定义结构,再说明结构变量
例如:
说明了两个变量boy1和boy2为stu结构类型。也可以用宏定义使一个符号常量来表示一个结构类型,例如:
2.在定义结构类型的同时说明结构变量
例如:
3.直接说明结构变量
例如:
第3种方法与第2种方法的区别在于,第3种方法中省去了结构名,而直接给出结构变量。说明了boy1和boy2变量为stu类型后,即可向这两个变量中的各个成员赋值。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。