C语言指针 地址

2025-05-11 22:52:52
推荐回答(2个)
回答1:

虚拟地址

不同系统在为每个进程分配的虚拟内存有所不同,Linux下是为每个进程理论上分配4G的空间,

用户的3G地址空间分配如下:

可以看到数据段并不是从0开始的,函数的局部变量是存放在栈段区域的,由系统分配

这里涉及到操作系统的内存管理和进程管理方面的只是,比较复杂,我也说的不清楚,不知道能不能回答你的疑问?

回答2:

1我定义一个数组的时候,那虚拟地址相邻物理地址怎么也就相邻了呢 这个和物理相邻不冲突 他们本来就是连续的呀
2这个和编译器有关 看编译器怎么分配