C语言结构体类型
C语言中允许用户自己建立由不同类型数据组成的组合型的数据结构,它称为结构体。在其他一些高级语言中称“记录”。
一般形式
struct 结构体名
{成员表列};
结构体类型的名字是由一个关键字struct和结构体名组成而成的,结构体名是用户指定的,又称“结构体标记”,以区别于其他结构体类型。
花括号内是该结构体所包括的子项,称为结构体的成员,对各个成员都应该进行类型声明。
即
类型名 成员名
成员表列也称为域表,每一个成员是结构体中的一个域,成员命名规则与变量名相同。
C语言如何定义结构体类型变量
先声明结构体类型,再定义该类型的变量
-
在定义了结构体变量后,系统会为之分配内存单元。根据结构体类型中包含的成员情况,在Visual C++中占63个字节。
-
这种声明方式是声明类型和定义变量分离,在声明类型后可以随时定义变量,比较灵活。
在声明类型的同时定义变量
-
一般形式
struct 结构体名
{
成员表列
}变量名表列;
-
声明类型和定义变量放在一起进行,能直接看到结构体的结构,比较直观。
-
在写小程序时用此方式比较方便,但写大程序时,往往要求对类型的声明和对变量的定义分别放在不同的地方 ,以使程序结构清晰,便于维护。
-
一般形式
struct
{
成员表列
}变量名表列;
-
指定了一个无名的结构体类型,它没有名字。
显然不能再以此结构体类型去定义其他变量。
int main()
{
struct Student{ //定义学生类结构体
int stuId=10;//学号
char sex='F';//性别
}stu1;
printf("%d\n",stu1.stuId);//输出学号
printf("%c\n",stu1.sex);//输出性别
return 0;
}编译运行结果:10
F
--------------------------------
Process exited after 2.405 seconds with return value 0
请按任意键继续. . .