返回信息流如图的第三问,答案如下
答案看不懂,什么叫“caller的形参y并不能被P所用?”
这是一条镜像帖。来源:北邮人论坛 / cpp / #98690同步于 2019/3/2
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
问一道函数题
Lostone
2019/3/2镜像同步6 回复
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
但是P的栈帧中y的值改变了啊,x也是按值传递但是P栈帧中x的值并没有改变
【 在 specops (Perfec) 的大作中提到: 】
: y是按值传递 相当于一个局部变量
y和x都在caller的栈帧中,caller退出就没了,P的栈帧中存的是过程P的局部变量等内存,和x,y没有关系,test函数的栈帧中有y的地址(指针),所以可以在test函数中改变caller函数中y的值,但是和P没啥关系
【 在 Lostone 的大作中提到: 】
: 但是P的栈帧中y的值改变了啊,x也是按值传递但是P栈帧中x的值并没有改变
改变的是caller栈帧中的y 不是P栈帧中的
【 在 Lostone (Lostone) 的大作中提到: 】
: 但是P的栈帧中y的值改变了啊,x也是按值传递但是P栈帧中x的值并没有改变
懂了懂了,谢谢
【 在 wzh666 (长太息) 的大作中提到: 】
: y和x都在caller的栈帧中,caller退出就没了,P的栈帧中存的是过程P的局部变量等内存,和x,y没有关系,test函数的栈帧中有y的地址(指针),所以可以在test函数中改变caller函数中y的值,但是和P没啥关系