例如:
struct test {
int a:1;
int b:1;
};
不是给a赋初值,在内存中存储数据的最小单位一般是字节,但有时存储一个数据不必用一个字节。这是一种位域的结构体,这个结构体中a占用的是一个字节中的1位,b也占用1位。所以这里a和b的取值只能是0和1。因为a和b都是用1位来表示的。使用位域结构体可以节省很多的内存空间。
例如:
struct test {
int a:1;
int b:1;
};
不是给a赋初值,在内存中存储数据的最小单位一般是字节,但有时存储一个数据不必用一个字节。这是一种位域的结构体,这个结构体中a占用的是一个字节中的1位,b也占用1位。所以这里a和b的取值只能是0和1。因为a和b都是用1位来表示的。使用位域结构体可以节省很多的内存空间。