VenusYan 2024-01-14 05:17 采纳率: 100%
浏览 12
已结题

c变量创建时的内存地址申请

临时变量存储在栈区,遵从从高地址到低地址的原则。
但实践时发现数组arr1的创建没有按照这个规则来。

img

想知道c变量创建时的内存地址申请规则以及导致这一现象的原因。
是因为最开始向内存申请的空间不足然后创建arr1的时候进行了一次扩容吗?

  • 写回答

3条回答 默认 最新

  • 关注

    你搞错了,对于数组,数组名就是数组的地址,不需要加&,你看数组地址的时候,直接看arr1和arr的值就行。而&arr1是数组地址的地址。
    另外,不同变量的内存分配是随机的,不一定是递增的,同一个数组的各元素的地址能保证是连续递增的。而不同变量的地址是不能保证一定是递增的!很简单的一个道理:因为内存是有限的,内存地址也有一个最大值,如果地址都是递增的,给某个变量分配的内存已经到内存最后的位置,那么新的变量就没法申请内存了!所以,这个说法肯定是不成立的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 1月30日
  • 已采纳回答 1月22日
  • 请采纳用户回复 1月16日
  • 创建了问题 1月14日

悬赏问题

  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?
  • ¥15 部分客户订单定位有误的问题
  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
  • ¥15 Bug traq 数据包 大概什么价
  • ¥15 在anaconda上pytorch和paddle paddle下载报错
  • ¥25 自动填写QQ腾讯文档收集表