大小的结构成员
这个问题在这里已经有了答案:
sizeof(((struct A*)0)->arr);
简而言之,将空指针转换为struct A*
类型的空指针,但由于sizeof
的操作数未被计算,因此这是合法的,并且允许您在不创建结构实例的情况下获取struct成员的大小。
基本上,我们假装它的一个实例存在于地址0,并且可以用于offset和sizeof
确定。
为了进一步阐述,请阅读这篇文章:
http://www.embedded.com/design/prototyping-and-development/4024941/Learn-a-new-trick-with-the-offsetof--macro
链接地址: http://www.djcxy.com/p/72135.html