点击(此处)折叠或打开
- /*
- * exercise07.c
- *
- * Created on: 2012-11-5
- * Author: xiaobin
- */
- typedef union
- {
- long i;
- int k[5];
- char c;
- } DATE;
- struct data
- {
- int cat;
- DATE cow;
- double dog;
- } too;
- int main(int argc, char* argv[])
- {
- DATE max;
- printf("%d\n", sizeof(struct data) + sizeof(max));
- return 0;
- }
此题是考察对数据类型长度的掌握程度。
int-4;long-4;char-1;double-8;float-4;
难点在于:联合的长度值是所有成员变量中最大的那个!
结构的长度值是所有成员变量长度之和!
也就是说,DATE的长度是int x 5 = 20
data的长度是4(int) + 20(DATE) + 8(double) = 32
那么输出的结果:
点击(此处)折叠或打开
- 52