typedef struct
{
char a;
int b;
char c[0];
}stru;
为啥sizeof(stru)是8而不是4+4+4=12
![](https://profile-avatar.csdnimg.cn/6039efa3aaa84e24811ce15fc3e4b85c_weixin_42631253.jpg!4)
结构体对齐问题求解,问题如下
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- threenewbee 2020-03-01 17:28关注
应该是c[0]没有分配空间,但是这个取决于你的编译器。
你可以写
stru s;
printf("%p %p %p", &s.a, &s.b, &s.c);
看下三个指针解决 无用评论 打赏 举报
悬赏问题
- ¥60 远程协助启动mysql服务
- ¥15 想问一下STM32创建工程模板时遇到得问题
- ¥15 Fiddler抓包443
- ¥20 Qt Quick Android 项目报错及显示问题
- ¥15 而且都没有 OpenCVConfig.cmake文件我是不是需要安装opencv,如何解决?
- ¥15 oracleBIEE analytics
- ¥15 H.264选择性加密例程
- ¥50 windows的SFTP服务器如何能批量同步用户信息?
- ¥15 centos7.9升级python3.0的问题
- ¥15 安装CentOS6时卡住