【发布时间】:2017-11-04 22:47:21
【问题描述】:
我在 C (Linux) 代码 here 中看到了以下奇怪类型的宏:
#define FIELD_SIZEOF(t, f) (sizeof(((t*)0)->f))
((t*)0)->f) 是做什么的?
它是如何工作的?
【问题讨论】:
-
你知道cdecl.org 吗? (虽然不是这个问题的解决方案)
-
你知道任何 C 语言吗?你知道
->是做什么的吗? -
企图向自己的脚开枪?
-
Note C 将
struct部分称为“成员”,而不是“字段”。