я новичок в "fork()", я везде читал, что когда вызывается fork(), запускается точная копия текущего (вызывающего) процесса. Теперь, когда я запускаю следующий код, должно быть два разных процесса, имеющих две разные области памяти, назначенные их переменным и функциям.
#include<stdio.h>
int i=10;
int pid;
int main(){
if((pid=fork())==0){
i++;//somewhere I read that separate memory space for child is created when write is needed
printf("parent address= %p\n",&i);// this should return the address from parent's memory space
}else{
i++;
i++;
printf("child address= %p\n",&i);// this should return the address of child's memory space
}
wait(0);
return(0);
}
Why The output looks like:: child address::804a01c parent address::804a01c
Почему оба адреса одинаковы как для родителя, так и для дочернего элемента?