2.在VC6.0下,以下程序运行的结果是_______。 #include<stdio.h> int main( ) { union U { char st[4] ; int i ; long l ; } ; struct A { int c ; union U u ; } a ; printf( "%d\n" , sizeof( struct A ) ) ; return 0 ; }
时间: 2024-04-03 16:35:18 浏览: 96
基于SURF的特征检测程序 VC6.0下可以直接运行
3星 · 编辑精心推荐
答案是 12。因为结构体 A 中有一个 int 类型的成员变量 c 和一个联合体 U,而 U 中最大的成员变量是 long 类型的 l,占用 4 个字节,因此 U 的总大小为 4,加上 int 类型的 c,结构体 A 的总大小为 4+4=8,但是由于内存对齐的原因,结构体 A 的大小会被向上取整到 12。
阅读全文