csdn_mobile 2022-08-07 21:00 采纳率: 64.3%
浏览 68
已结题

C语言内存分配,到底是按哪种顺序呢

最近自学C语言,为大学课程做准备,刚到指针这里。

#include <stdio.h>
int main()
{
    int i=8;
    printf("%p\n",&i);
    int p=0;
    printf("%p\n",&p);
    return 0;
}

在我的计算机上输出

img

和网课上演示的结果也是一致的

网课中的解释大概是 这两个局部变量,分配在内存中一种叫堆栈的地方。在堆栈中分配内存是自顶向下的
但是我的一个同学却用相似的代码得到了相反的结果

img


所以请问一下为什么我们会得到不同的结果呢?还有网课的那个解释我也不太明白,能请各位通俗地给我讲一下吗,谢谢。

  • 写回答

3条回答 默认 最新

  • qzjhjxj 2022-08-07 21:32
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 8月16日
  • 已采纳回答 8月8日
  • 修改了问题 8月7日
  • 创建了问题 8月7日