- 匿名结构体
struct st {
int a;
union {
int b;
int c;
};
struct {
/* int a; */ // 此处报错
int d;
};
};
int main() {
struct st s = {
.a = 1,
.b = 2,
.d = 3,
};
return 0;
}
- 宏定义结构体成员
struct st {
union {
int ub;
int uc;
}u;
#define uub u.ub
#define uuc u.uc
};
int main() {
struct st s = {0};
s.uub = 1;
s.uuc = 2;
return 0;
}