结构体类型的定义
结构体类型定义的语法格式为:
struct 结构体标识名
{
类型名1 结构体成员名表1;
类型名1 结构体成员名表2;
···
类型名1 结构体成员名表n;
};
说明:
(1)struct是定义结构体类型关键字,是标志不能省略。
(2)“结构体标识名”和“结构体成员名”都是用户定义的标识符,命名规则与标识符命名相同。
(3)结构体中的成员名可以和程序中的其他变量同名;不同结构体中的成员也可以同名。
(4)结构体类型的定义应视为一个完整的语句,用一对花括号{}括起来,最后以分号;结束。
(5)应注意在括号后的分号是不可少的。结构体定义之后,即可进行变量说明。
例1.我们可以定义一个关于日期的结构体类型:
struct date
{
int year;
int month;
int day;
};
说明:
在这个结构定义中,结构名为date,该结构由3个成员组成。
第一个成员为 year;
第二个成员sex;
第三个成员为birthday;
三个成员均为整形变量。
例2.我们可以再定义一个关于学生信息的结构体类型:
struct student
{
char name[12];
char sex;
struct date birthday;
float score[4];
};
说明:
在这个结构定义中,结构名为student,该结构由4个成员组成。
第一个成员 name,为字符数组;
第二个成员sex,为字符变量;
第三个成员birthday,是已定义的结构体类型(见上例)date;
第四个成员score,为实型数组。
由此可见,结构体是一种复杂的数据类型,是数目固定、类型不同的若干有序变量的集合。