typedef union { long i; int k[5]; char c; } DATA;啥意思
时间: 2024-05-20 16:14:31 浏览: 74
C常见的问题集合(非常精彩)特别适用于想深入学习C语言或者做单片机、做嵌入式的同学
这是一个联合体(union),它包含三个成员变量:一个长整型 i、一个整型数组 k 和一个字符型 c,它们共用同一块内存空间。因为联合体中所有成员变量的起始地址都相同,所以修改一个成员变量的值会影响到其他成员变量的值。其中,i 和 k[0] 指向的是同一块内存,因为它们的大小相等;k[0] 到 k[4] 共占用 20 个字节,因此 k 数组的大小为 5 个整型,而不是 5 个字节。当联合体中的某个成员变量被修改时,其他成员变量的值会被覆盖。因此,在使用联合体时需要注意成员变量的修改顺序以及对应的数据类型。
阅读全文