[LCP]A small doubt on fork
Asif Raj
asif at gdit.iiit.net
Fri Oct 19 18:54:31 UTC 2001
It is because when the execution of the program begins, variable i is
initialised and assigned a particular address in the memory. when you
change the value of i, the value contained at that memory location changes
but the program still refers to variable i through that memory location
only.
cheers
asif
On Fri, 19 Oct 2001, sasidhar p wrote:
> Hi,
> The result of the following program is surprising me...
>
> main()
> {
> int pid;
> int i = 5;
>
> switch (pid = fork()) {
> case 0 : {
> i = 7;
> printf("In child address of i = %p \n",&i);
> } break;
> case -1 : printf("Fork error \n"); break;
> default : printf("In parent address of i = %p\n",&i);
> }
> }
>
> Out put on my m/c:
>
> In parent address of i = effffa68
> In child address of i = effffa68
>
> Problem : I was expecting that the addresses shold be different because fork
> creates a new process. But the o/p is both addresses are same.
>
> Question: Why is this so?
>
> Thanx,
> Sasi.
>
>
> _________________________________________________________________
> Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp
>
> _______________________________________________
> This is the Linux C Programming List
> : http://lists.linux.org.au/listinfo/linuxcprogramming List
>
More information about the linuxCprogramming
mailing list