各位带佬,请教下看书看到fork函数对于数据写入时进行写时拷贝。我以为写时拷贝实在内存中重新分配地址,结果他们的地址还是一样的,所以子进程改变数据为什么父进程没有改变呢,不是很懂,请教下

img

img

不同进程中a变量是不同的内存空间
输出地址一样是因为地址是相对于当前进程内存空间的
比如父进程的内存空间地址是从0011 0000开始
父进程中a变量地址是0000 1234,实际真实地址应该是0011 1234
子进程的内存空间地址是从0012 0000开始
子进程中a变量地址也是0000 1234,实际真实地址应该却是0012 1234

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632