位域/bit field 里面的逗号,咋搞的==
特别声明下,因为要忙些事情,所以很少上论坛,回复时间稍慢,请见谅;插入代码(问题在注释里面):
#include<stdio.h>
int main(void){
struct Bit{
int a:3;
int :3;
//int a:;;
//int a; ;
//int 0; ;
int :0;
int b:1;
};
struct Bit_2{
int l1:1,
int l2:2,//问题:逗号运算在这里为什么不行,明明没有超过一个字节和一个数据类型?
int l3:1;
int n:9;
int a:1;
int b:7;
int c:9;
};
printf("sizeof(Bit)=%d;\n",sizeof(struct Bit));
printf("sizeof(Bit_2)=%d;\n",sizeof(struct Bit_2));
return 0;
}
时间:2013年7月20日07:34:03; 楼主 逗号表达式 一般是连接表达式(不是定义式)
多个定义式之间肯定要用分号;
如果一定想要用逗号表达式 可以这样
struct Bit_2{
int l1:1, l2:2;
int l3:1;
int n:9;
int a:1;
int b:7;
int c:9;
}; ryxcaixia 发表于 2015-7-20 09:04
楼主 逗号表达式 一般是连接表达式(不是定义式)
多个定义式之间肯定要用分号;
如果一定想要用逗号表达式...
谢谢 :handshake
页:
[1]