结构体
结构体就不做多的介绍了,只说说他的位字段
struct sct
{
unsigned int sn : 4; // 该字段占用4位
unsigned int : 4;
bool goodIn : 1;
bool goodTo : 1;
};
共用体
共用体是一中数据格式,他能够存储不同的数据类型,但只能同时存储其中的一种类型。
#include <iostream>
using namespace std;
union uno
{
int int_val;
long long_val;
double double_val;
};
int main()
{
uno pail;
pail.int_val = 15;
cout << pail.int_val << endl;
pail.double_val = 12.2;
cout << pail.double_val << endl;
cout << pail.int_val << endl; // 数值已经丢失了
return 0;
}
枚举
枚举可以代替const,在默认情况下,枚举变量的枚举值为0, 1, 2……可以显示的指定整数值类覆盖默认值。对于枚举变量, 在不进行强制类型装换的情况下,只能将枚举值赋给它,且不能对它进行算术运算。有一种情况除外:
#include <iostream>
using namespace std;
enum spectrum {red, orange, yellow, green, blue, viodlet, indigo, ultraviolet};
int main()
{
spectrum band;
band = blue; // valid
// 枚举值在进行算术运算时被转换为整型,然后进行强制类型转换,但不推荐这样做
band = spectrum(red + blue);
return 0;
}