以下のプログラムでは、両方のプロセスの仮想アドレスは同じです。グローバル変数の理由は理解できましたが、ローカル変数の理由は理解できませんでした。
実行前にローカル変数に仮想アドレスがどのように割り当てられますか?
int main()
{
int a;
if (fork() == 0)
{
a = a + 5;
printf(“%d,%d\n”, a, &a);
}
else
{
a = a –5;
printf(“%d, %d\n”, a, &a);
}
}