【发布时间】:2020-06-05 13:35:37
【问题描述】:
请解释这段代码是如何执行的。为什么我们在结构中使用“:”。结构中冒号的用途是什么。sizeof 运算符的输出应该是什么。
#include <stdio.h>
int main()
{
struct bitfield {
signed int a : 3;
unsigned int b : 13;
unsigned int c : 1;
};
struct bitfield bit1 = { 2, 14, 1 };
printf("%ld", sizeof(bit1));
return 0;
}
【问题讨论】:
-
:用于定义struct(或union)中的位域。 -
我认为“sizeof 运算符的输出应该是什么”的唯一答案是“它取决于”。架构字长、对齐和填充等