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

 

posted @ 2019-03-19 14:05  Hello_2018  阅读(272)  评论(0编辑  收藏  举报