#define size_of_attribute(Struct, Attribute) sizeof(((Struct*)0)->Attribute)
这基本上是访问成员变量类型,而不实际提及/创建该结构类型的任何变量。
Here,
0
被强制转换为结构类型指针,并且- 然后该指针用于访问成员变量
- 它用作
sizeof
运算符的操作数。
由于sizeof
是一个编译时操作,空解引用从未在运行时实际执行。
#define size_of_attribute(Struct, Attribute) sizeof(((Struct*)0)->Attribute)
这基本上是访问成员变量类型,而不实际提及/创建该结构类型的任何变量。
Here,
0
被强制转换为结构类型指针,并且sizeof
运算符的操作数。由于sizeof
是一个编译时操作,空解引用从未在运行时实际执行。