如何在C中获取结构中成员的大小?
struct A { char arr[64]; };
我需要这样的东西:
的sizeof(A :: ARR)
谢谢
sizeof(((struct A*)0)->arr);
简而言之,将一个空指针强制转换为struct A*
的类型,但由于sizeof
的操作数未被计算,因此这是合法的,并且允许您在不创建结构实例的情况下获取struct成员的大小。
基本上,我们假装它的一个实例存在于地址0,并且可以用于偏移和sizeof
确定。
要进一步详细说明,请阅读本文:
以上就是c/c++开发分享sizeof结构成员相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/562099.html