union:意味着成员变量不可共存,同时间只可有一个变量有效。
book@100ask:~/C_coding/CH02$ cat union.c #include <stdio.h> #include <stdlib.h> #include <stdint.h> union { struct { uint16_t i; uint16_t j; }x; uint32_t y; }a; int main() { a.y = 0x11223344; printf("%x\n",a.x.i a.x.j); // uint32_t i = 0x11223344; // printf("%x\n",(i >> 16) i & 0xFFFF); exit(0); } book@100ask:~/C_coding/CH02$ make union cc union.c -o union book@100ask:~/C_coding/CH02$ ./union 4466