weixin_42631253 2020-03-01 16:54 采纳率: 0%
浏览 151

结构体对齐问题求解,问题如下

typedef struct
{
char a;
int b;
char c[0];
}stru;
为啥sizeof(stru)是8而不是4+4+4=12

  • 写回答

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时卡住