位段
- 位段的成员可以是 int ,unsigned int ,signed int 或 char (属于整形家族)类型。
- 位段的空间上是按照需要以 4 个字节( int )或者 1 个字节( char )的方式来开辟的。
- 位段涉及很多不确定因素,位段是不跨平台的,注重可移植的程序应该避免使用位段。
位段的使用
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
struct Sex
{
int ade : 3;
int male : 4;
};
int main()
{
struct Sex name = { 1,2 };
printf("%d ", name.ade);
printf("%d", name.male);
return 0;
}
运行结果
枚举
枚举是一个被命名的整型常数的集合。在实际应用中我们经常把能够且便于一一列举的类型用枚举来表示。就比如:一周的星期、性别、月份……
枚举的使用
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include<string.h>
enum sex
{
male,
female,
copy,
};
int main()
{
enum sex s = male; //取值只能在 sex里面
printf("%d", male); //默认从0开始,但会被枚举里面的初始化赋值给改变后面的值
return 0;
}
运行结果
结构体
结构体是C语言中一种重要的数据类型,该数据类型由一组称为成员的数据所组成,其中每个成员可以是不同类型的。结构体通常用来表示类型不同但是又相关的若干数据。(注意:数组与结构体一样,也是一种值的集合,只不过数组的每个元素都要是相同类型的,而结构体的每个成员可以是不同类型的)
结构体的使用
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
struct Sex
{
int ade;
int male;
};
int main()
{
struct Sex name = { 1,2 };
printf("%d ", name.ade);
printf("%d", name.male);
return 0;
}