大小的结构成员

这个问题在这里已经有了答案:

  • C:sizeof单个结构成员9个答案

  • 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

    上一篇: sizeof a struct member

    下一篇: C++ (int getopt(argc, (char **)argv, optstring)