最近自学C语言,为大学课程做准备,刚到指针这里。
#include <stdio.h>
int main()
{
int i=8;
printf("%p\n",&i);
int p=0;
printf("%p\n",&p);
return 0;
}
在我的计算机上输出
和网课上演示的结果也是一致的
网课中的解释大概是 这两个局部变量,分配在内存中一种叫堆栈的地方。在堆栈中分配内存是自顶向下的
但是我的一个同学却用相似的代码得到了相反的结果
所以请问一下为什么我们会得到不同的结果呢?还有网课的那个解释我也不太明白,能请各位通俗地给我讲一下吗,谢谢。