C 共用体

#include <stdio.h>
#include<stdlib.h>

//结构体和共用体的区别
//结构体变量的大小是其所包含的所有数据成员大小的总和,其中每个成员分别占有自己的内存单元,而共用体的大小为所包含数据成员分别占有自己的内存单元;而共用体的大小为所包含数据成员中最大内存长度的大小
union DataUnion{

    int iInt;
    char cChar;
    float fFloat;

} valriable;

//特点
//1.在同一内存段可以用来存放几种不同类型的成员,但是每一次只能存放其中一种,而不是同时存放所有的类型。也就是说在共用体中,只有一个成员起作用,其他的成员不起作用。
//2.共用体变量中起作用的成员是最后一次存放的成员,在存入一个新的成员后原有得成员就失去作用。
//3.共用体变量的地址和它的各成员的地址是一样的。
//4.不能对共用体变量名赋值,也不能企图引用变量名来得到一个值。
int main(){
    union DataUnion Union = {200};//共用体的声明并初始化
    Union.iInt = 97;
    printf("iInt:%d\n",Union.iInt);
    printf("cChar:%c\n",Union.cChar);
    printf("fFloat:%f\n",Union.fFloat);

    Union.fFloat = 47.6f;
    printf("iInt:%d\n", Union.iInt);
    printf("cChar:%c\n", Union.cChar);
    printf("fFloat:%f\n", Union.fFloat);

 

valriable.cChar = 'A';
    printf("iInt:%d\n", valriable.iInt);
    printf("cChar:%c\n", valriable.cChar);
    printf("fFloat:%f\n", valriable.fFloat);
    return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值