C语言零基础教程之联合体

共用体理解
所有变量使用的内存都是同一个内存,一般是数据成员占用内存最多的变量内存。
共用体在使用的时候只有一个变量有效,对于初始化不能同时初始化。

对共用体中的number做初始化,而没对name进行初始化,结果是输出A,因为两者共用一片内存,故将写入65的数据当作name输出为对应ascii码的字母a

打印出内存空间,为空间最大的name数组长度

写入name的值后推测number的值

发现很大

查阅内存后发现,根据number为四个字节长度,取用了name中前四个元素abcd,转化为ascii码16进制后再换算至十进制则发现为1145258561
联合体使用:
特定的开关机制
访问属性时只需要某些数据其他不要