0 c
struct noderecord {
struct noderecord* next;
int data;
};
Run Code Online (Sandbox Code Playgroud)
指针 next 是如何声明而不出现任何错误的?我们在声明一个指针后又添加了一个元素,指针元素的大小会不会错误?
根据 C 2018 6.2.5 28,C 实现中指向结构的所有指针的大小彼此相同:
\n\n\n\xe2\x80\xa6 所有指向结构类型的指针应具有相同的表示和对齐要求\xe2\x80\xa6
\n
因此,要知道指向结构的指针有多大,编译器不需要了解有关该结构的任何信息,只需知道该指针指向某种类型的结构即可。
\n