该文章内容整理自《C程序设计(第四版)》、《高质量C编程指南》、以及网上各大博客
C语言允许用户建立自己由不同类型数据组成的组合型数据结构,称为结构体
结构体
结构体声明的一般形式为struct 结构体名 {成员表列};成员表列中要对各成员进行类型声明,一般形式为类型名 成员名;成员表列又称为域表。函数同样可以作为结构体的成员
结构体变量定义有几种方式
- struct 结构体名 变量名表列;
- struct 结构体名 {成员表列} 变量名表列;
- struct {成员表列} 变量名表列;此时结构体只能定义变量名表列中的变量
初始化
struct Stu {
int a;
char b[10];
float c;
};
//结构体变量初始化
struct Stu s1 = {
1, "A", 5.0};
struct Stu s2;
s2.a = 2;
strcpy(s2.b, "B");
s2.c = 4.8;
struct Stu s3 = {
.a = 3}; //C99允许仅对某些成员进行初始化
//结构体数组初始化
struct Stu ss