weixin_43113933
weixin_43113933
采纳率25.7%
2020-03-30 16:59

关于C语言中字符数组的内存存放问题疑惑

图片说明
在这段测试代码中的运行结果为
图片说明
我的疑惑是,char buf[4]内存不应该为4个字节吗,那么打印&buf[0]的其实地址不应该从 000000000064FE14开始吗,这里为什么运行是从 000000000064FE10开始,这个疑惑求解

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • caozhy 回答这么多问题就耍赖把我的积分一笔勾销了 1年前

    为了防止数组越界破坏,或者为了数据对齐提高内存访问效率,编译器未必会紧密排列变量。

    点赞 评论 复制链接分享
  • qq_39554698 小学狗喵喵叫 1年前

    单个char是1个字节,int才是4个字节

    点赞 评论 复制链接分享

为你推荐