【ThinkingInC++】14、联合体使用

/**
* 功能:联合体使用
* 时间:2014年8月13日08:55:39
* 作者:cutter_point
*/

#include<iostream>
#include<stdlib.h>

using namespace std;

union Packed
{
    char i;
    short j;
    int k;
    long l;
    float f;
    double d;   //这个联合体会用里面最大的变量需求的空间作为联合体的空间
    //这里联合体的空间大小是double的大小
};

int main()
{
    cout<<"sizeof(char)="<<sizeof(char)<<endl;
    cout<<"sizeof(short)="<<sizeof(short)<<endl;
    cout<<"sizeof(int)="<<sizeof(int)<<endl;
    cout<<"sizeof(long)="<<sizeof(long)<<endl;
    cout<<"sizeof(float)="<<sizeof(float)<<endl;
    cout<<"sizeof(double)="<<sizeof(double)<<endl;
    cout<<"-----------------------------------------------------------------------"<<endl;
    cout<<"sizeof(Packed)="
        <<sizeof(Packed)<<endl;

    Packed x;
    x.i='c';
    cout<<"x.i='c';sizeof(x.i)="<<sizeof(x.i)<<"\tx.i="<<x.i<<endl;

    x.d=3.1415926;
    cout<<"x.d=3.1415926;;sizeof(x.d)="<<sizeof(x.d)<<"\tx.d="<<x.d<<endl;

    cout<<"-----------------------------------------------------------------------"<<endl;
    cout<<"x.i="<<x.i<<endl;

    system("pause");
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值