2

谁能告诉我,这段代码发生了什么。我试图搜索很多地方,但无法理解代码的注释部分到底在做什么。

#include<stdio.h>

struct XYZ {
    //int a:6; this one.
    char s; 
}structure;

int main() {
     printf("%lu",sizeof(structure)); 
     return 0;
}

我得到的输出为 4。

4

1 回答 1

4

该行已被注释掉。它什么也没做。

如果没有注释掉,则意味着 的大小int a仅限于 6 位。它对于结构内的位域很有用。

于 2013-07-12T14:52:13.710 回答