C sizeof函数

博客介绍了UNION共用体,它表示几个变量共用一个内存位置,不同时间保存不同类型和长度的变量。所有成员共用空间,同一时间只能存一个成员变量的值。编译程序会自动产生变量,其长度为联合中元类型最大变量长度的整数倍且不小于最大成员存储空间。
#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

 

转载于:https://www.cnblogs.com/LicwStack/p/10558299.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值