求教一个问题,我在A函数声明了一个x变量,然后将这个变量的地址作为指针参数y调用并传入B函数。B函数里面调用了C函数,在调...

2019-07-21 08:00发布

求教一个问题,我在A函数声明了一个x变量,然后将这个变量的地址作为指针参数y调用并传入B函数。B函数里面调用了C函数,在调用此函数之前,指针y存的是变量x的地址,是没错的。然后调用了C函数并返回后,y存储的地址改变了,并且这个地址已不在堆栈范围内。这是怎么回事?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
kvdong
1楼-- · 2019-07-22 00:36
正点原子 发表于 2018-11-13 02:05
返回一个局部变量的地址,本身就有问题,就不应该这么写代码

我觉得这才是问题的关键。这样写代码早晚会出问题。
Arya
2楼-- · 2019-07-22 01:15
不能返回局部变量的指针,返回的是指针的拷贝但是指针指向的对象销毁了

一周热门 更多>