关于数组的一些问题:
#include <stdio.h>#include <stdlib.h>
int *num;
int main()
{
int i;
for(i=0;i<20;++i)
{
printf("%x \n",num);
printf("%x \n",&num);
}
return 0;
}
①.为什么上面打印出来的地址都连续呢?
②.打印出来的不是物理地址吧?
③.上面的空间分配在栈上面进行?
本帖最后由 oggplay 于 2014-6-30 11:30 编辑
1、指针数组同普通数组都是一样的,地址当然是连续的。
2、以上地址都是连续的逻辑地址,物理地址不一定连续;物理地址你是看不到的,由CPU和操作系统决定物理地址。
3、提到栈,多说一句,栈是存放函数参数(或者临时变量、局部变量)的,不是存放指令和全局变量的。 oggplay 发表于 2014-6-30 10:54 static/image/common/back.gif
1、指针数组同普通数组都是一样的,地址当然是连续的。
2、以上地址都是连续的逻辑地址,物理地址不一定连 ...
谢谢及时的回答~
页:
[1]