以下C++代码是什么意思?
unsigned char a : 1;
unsigned char b : 7;
Run Code Online (Sandbox Code Playgroud)
我猜它会创建两个char a和b,并且它们都应该是一个字节长,但我不知道":1"和":7"部分是做什么的.
struct m
{
int parent:3;
int child:3;
int mother:2;
};
void main()
{
struct m son={2,-6,5};
printf("%d %d %d",son.parent,son.child,son.mother);
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮忙说出为什么程序的输出是2 2 1?