关于linux的简单进程有关问题

关于linux的简单进程问题
#include<sys/types.h>
#include<stdio.h>
#include<unistd.h>

int value = 5;

int main()
{
pid_t pid;
if(pid==0)
value+=15;
else if(pid>0)
{
wait(NULL);
  printf("value=%d\n",value);
}
return 0;
}
为什么结果是5?对进程概念还不是很理解,觉得这道题很帮助理解,望懂的人能详细解释下,谢谢了!

------解决方案--------------------
父子进程地址空间独立,子进程修改了value,父进程里不受影响
------解决方案--------------------
int value = 5; 

int main() 

pid_t pid; 
if(pid==0) /////////////////////// if((pid=fork())==0)
value+=15; 
else if(pid>0) 

wait(NULL); 
printf("value=%d\n",value); 

return 0; 


先fork,然后再看4楼的其他东西