这篇文章主要是简单分析一下结构体和位段的知识。
在c和指针这本书中我们可以了解到数据经常以成组的形式存在。例如,雇主必须明了雇员的姓名,年龄和工资。如果这些能够储存在一起,访问起来会简单一些。但是如果这些值得类型不同(就像现在这种情况),他们无法储存于同一个数组中。在c中,我们使用结构可以把不同类型的值储存在一起。
1.结构体的声明和定义:
在声明结构时,我们必须列出它包含的所有成员。这个列表包括每个成员的类型和名字。下面我们写一个结构体的声明,它是在声明结构体时定义变量:
struct Simple
{
int a;
char b;
float c;
}x;
这个声明定义了一个名叫x的变量,它包含了三个成员:一个整数,一个字符和一个字符数。
还可以在主函数中定义结构体变量:
struct Simple
{
int a;
char b;
float c;
};
int main()
{
struct Simple x;//定义一个结构体变量
return 0;
}
2.结构体的初始化:
结构体的初始化方式和数组的初始化方式很相似。结构中如果包含数组或结构成员,其初始化方式类似于多维数组的初始化。
可以分为俩种,一种是对在声明结构体时定义的结构体变量初始化:
struct Student
{
char name[20];
int age;
float score;
}stu = {
"cuihua",
18,
90.0
};
另一种是对在主函数里定义的结构体变量初始化:
struct Student
{
char name[20];
int age;
float score;
};
int main()
{
struct Student stu = { "cuihua", 18, 90.0 };//对结构体变量进行初始化
return 0;
}
3.