c语言结构体中长度为0的数组成员究竟是否占用内存空间?

网上搜索的答案基本都是说不占空间,但是我用gcc做实验的结果是这样的:

代码:
clipboard.png
结果:
clipboard.png

阅读 4.1k
2 个回答

struct alignment

可以参考struct中各元素内存分配规则。char a是第一个,占一个字节;int arr[0]尽管不占空间,但是因为是int,4字节,所以之前的a要对齐4字节,所以整个st_A占4个字节。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题