关于共用体的一个例子

    科技2022-07-13  142

    共用体定义形式如下: union 共用体名 { 类型名 成员1; 类型名 成员2; … 类型名 成员 n; } 由于各个成员变量在内存中都是用同一段存储空间,因此共用体变量的长度等于最长成员的长度。

    此外介绍一下数组在内存中的存储方式。例如 int a[5];

    #include<stdio.h> int main() { union key { int k; char ch[2]; }u; u.k = 258; printf("%d %d\n", u.ch[0], u.ch[1]); return 0; }

    输出结果为2 1 成员最长长度为int 4个字节 ,长度为4 。数据在计算机内存中是以十六进制存储的,258转化为十六进制是102,即0x00 00 01 02,则ch[0]=02,ch[1]=01。

    调试如图:

    Processed: 0.011, SQL: 8