私はfork()の概念を理解しようとしており、理解できないようなものがあります。fork()とローカル変数の変更?
次のコードで - 子プロセスが5に変更しても、なぜ親プロセスはまだi = 0を出力しますか?
wait(NULL)は、子プロセスが終了するまで親プロセスをブロックします。
int main(int argc, char *argv[]) {
int i = 0;
if (fork() == 0) {
i = 5;
} else {
wait(NULL);
printf("i = %d\n", i);
}
return 0;
}
私の前提が間違っている理由を誰かが説明できますか?
'fork'は何を想像していますか? –