C sizeof函数
#include<stdio.h> int main() { struct stu { union { char b[5]; short bh[2]; } cls; char xm[8]; float cj; } xc; printf("%d\n", sizeof(xc)); return 0; }
xc的长度为20.
UNION共用体表示几个变量共用一个内存位置,在不同的时间保存不同的数据类型和不同长度的变量。在union中,所有的共用体成员共用一个空间,并且同一时间只能储存其中一个成员变量的值。当一个共用体被声明时, 编译程序自动地产生一个变量, 其长度为联合中元类型(如数组,取其类型的数据长度)最大的变量长度的整数倍,且要大于等于其最大成员所占的存储空间。
关于sizeof函数的说明可以参阅http://www.cnblogs.com/0201zcr/p/4789332.html