在下面给出的程序中,两个进程的虚拟地址是相同的。我了解全局变量的原因,但对局部变量无法理解。C和linux中的虚拟地址分配
虚拟地址在运行前如何分配到局部变量?
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);
}
}
http://en.wikipedia.org/wiki/Call_stack – 2012-07-14 10:05:50
顺便提一下,使用'%p'而不是'%d'指针。 – 2012-07-14 10:06:15