一、共用体的特性
共用体又叫做联合体,共用体的特性如下:
1.共用体的所有成员共用一段内存空间,且所有成员的起始位置是一致的
2.共用体的值由最后赋值的成员决定
3.共用体的内存大小
- 共用体的内存必须大于或等于其他成员变量中最大数据类型(含数组)的大小。
- 共用体的内存必须是最宽基本数据类型的整数倍,如果不是,则填充字节。
二、共用体的用途1(判断大小端)
#include <stdio.h>
union myunion {
int a;
char b;
};
int main()
{
union myunion test;
test.a = 0x12345678;
if (test.b == 0x78)
printf("小端模式");
else if (test.b == 0x12)
printf("大端模式");
return 0;
}
三、共用体的用途2(给GPIO赋值)
/* 用途2: 给成员集体赋值*/
#include <stdio.h>
struct GPIO{
unsigned short Pi