共用体类型--c语言

本文详细解释了C语言中的共用体类型,包括共用体的内存分配、成员定义、变量定义方式、引用规则、赋值操作以及注意事项,如不能作为函数参数和初始化限制。
摘要由CSDN通过智能技术生成

共用体类型:

        共用体中所有的成员共用一段内存(所有成员的起始地址都是一样的)

格式:

union 共用体名
{
    成员列表;
};
注:
    1.成员列表定义该共用体的成员,成员定义的方式与普通变量的方式一样。
    2.成员列表必须用一对花括号括起。
    3.共用体名可以省略。

如:

union data
{
    int i;
    char ch[10];
    float s;
};
//定义了一个data的共用体类型,该类型有三个成员

 共用体变量的定义

        1.先定义类型,在定义变量

union data
{
    int i;
    char ch[10];
    float s;
};

union data a1;

        2.定义类型的同时,定义变量

union data
{
    int i;
    char ch[10];
    float s;
}a1;

        3.直接定义变量

union 
{
    int i;
    char ch[10];
    float s;
}a1;

        注:由于共用体类型的所有成员都共用同一段内存,所以共用体类型变量所占字节数等于该共用体类型中占用字节数最多的成员所占的字节数。sizeof(a1)>=10

共用体变量的引用:

        1.不能整体引用共用体变量,只能引用其他成员  引用的格式:共用体变量名.成员名

        2.同类型成员共享值

        3.在内存中整型数据的二进制数低8位占用前面一个字节,高8位占用后面一个字节。(高位放高地址,低位放低地址)

                如:整数255,在内存中存储的形式为:

                                11111111 00000000                                                                                                                   一个字符型数据占用一个字节,对于数组来说前面元素占用前面的字节。

        4.共用体变量之间可以相互赋值,赋值后两个变量应使用同一成员。

        5.共用体变量的地址与各成员的地址都相同。

        6.在定义共用体时,可以对其进行初始化,但只能有一个初值,且必须用花括号将初值括起。相当于给第一个成员赋值。

        7.共用体、结构体的成员均可以是共用体或结构体类型。

        8.不能用共用体类型变量作为函数参数

        9.计算共用体占用字符数

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值