声明结构体类型的一般形式为:
struct[结构体名称]
{
类型名1成员名:
类型名2成员名:
……
};
其中struct是关键字,是结构体类型的标志;结构体名称加上了方括号,是可选项,即可以省略。但是,如果省略了结构体名称(匿名结构体),就只能紧跟在结构体类型声明之后进行定义结构体变量。结构体名称和成员名都是用户自定义标识符。结构体声明是语句,所以后面要加上分号
例如,对于前面提及的“学生”结构体和“日期”结构体,其声明如下
struct student //“学生”结构体
{
char name[20]; //姓名
int age; //年龄
double score; //分数
};
struct date //“日期”结构体
{
int year, month, day; //日期中的“年”、“月”、“日”
};
声明和定义:“声明”的含义是“告诉”编译器有这样一种新类型,包含哪些成员,这时编译器并不会给这些成员分配存储空间;“定义”的含义是用个已存在的类型去“申请”存储空间存放这种类型的数据