假设定义了 2 个结构体,如下所示:
typedef struct {
T x;
T y;
} A;
typedef struct {
A a;
T z;
} B;
Run Code Online (Sandbox Code Playgroud)
我可以将指向结构 B 的指针视为指向结构 A 的指针吗?
实际上,这是可靠的/标准的/可移植的/编译器不变的:
B b = {{1,2},3};
A * a = &b;
print(a->x);
print(a->y);
Run Code Online (Sandbox Code Playgroud)