C程序中未初始化的内存位置的物理内存位置?

vij*_*231 1 c

我已经读过C中未初始化的全局变量将占用内存的.bss部分.它也只是一个占位符,不会占用目标文件中的任何空间.

我的问题是,一旦未初始化的全局变量被分配了一些值,它将在哪里存储在物理内存中?

例如:

int a[100];

int main()
{
    a[10] = 25;
}
Run Code Online (Sandbox Code Playgroud)

在上面的程序中,将分配内存位置?

Alo*_*ave 7

在存储全局变量的地方是实现定义的,C标准没有定义应该保存的位置.
C标准甚至没有提到Bss段或数据段,它只定义了这些变量必须显示的行为.

  • 即使这样,BSS和数据段也是虚拟而非物理内存的位置. (2认同)