lark 发表于 2015-7-20 07:32:08

位域/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;

ryxcaixia 发表于 2015-7-20 07:32:09

楼主 逗号表达式 一般是连接表达式(不是定义式)
多个定义式之间肯定要用分号;
如果一定想要用逗号表达式 可以这样
struct Bit_2{
            int l1:1, l2:2;
                int l3:1;
                int n:9;
                int a:1;
                int b:7;
                int c:9;
      
      };      

lark 发表于 2015-7-20 12:32:17

ryxcaixia 发表于 2015-7-20 09:04
楼主 逗号表达式 一般是连接表达式(不是定义式)
多个定义式之间肯定要用分号;
如果一定想要用逗号表达式...

谢谢 :handshake
页: [1]
查看完整版本: 位域/bit field 里面的逗号,咋搞的==