这段代码在32位计算机上的执行结果是什么?
2016-03-13 21:19
267 查看
typedef union {long i;int k[5];char c} DATA; struct date {int cat;DATA cow;double dog;} too; DATA max; printf("%d", sizeof(struct date)+sizeof(max)); 解析: DATA 是一个共用体,变量共同使用空间,最大的为int k[5] ,占用20字节 date 大小为 int 4 + DATA 20 + double 8 = 32。 所以结果是20 + 32 = 52。 |
相关文章推荐
- 写一个语句实现x是否为2的若干次幂的判断
- 交换两个数的值,不引用第三个变量
- 下面的程序执行后有什么错误?
- 局部变量能否和全局变量同名?
- 请说出const和宏定义相比有什么优点? 至少要说明两点:
- 在C语言中,static关键字的作用是什么?
- 简述const关键字的作用
- C语言合并两个数组并去重
- 分别写出BOOL,int,float,指针类型的 变量a与零相比的语句
- 简述extern的作用,说明什么时候会使用extern?
- c和c++中struct有什么不同?C++中的struct和class有什么不同?
- 下面两个结构体的大小是多少?
- 预处理文件,包含预订头文件<>和””有什么区别?
- 使用宏定义写出swap(x,y)
- 有以下宏定义, #define MIN(A,B) ((A) <= (B) ? (A) : (B)) 请写出一种不能正确返回的情况?
- HTTP请求和数据安全
- 数据结构之邻接表
- 如何在SharePoint中创建HTTPS类型Site Collection?
- 某年某月的天数
- *构成的三角形