指针作为函数的返回值?

我想问这个指针p为什么可以正常返回,函数调用完变量b不是被回收了吗?为什么我在main函数里却可以得到指针p所指向的值为6?... 我想问 这个指针p为什么可以正常返回,函数调用完变量b不是被回收了吗?为什么我在main函数里却可以得到指针p所指向的值为6? 展开
 我来答
庄政警
2020-03-20 · TA获得超过9916个赞
知道大有可为答主
回答量:1113
采纳率:94%
帮助的人:882万
展开全部

f函数调用完b被回收的含义是:通知系统,b所占用的内存空间现在是自由的了,其他程序可以使用这块内存了,在被其他程序占用修改前,它还是以前的值。但什么时候会改变,谁也不知道,可能很久才会被其他程序占用,也可能立即会被修改,所以,不要返回一个局部变量的地址。

就你这个代码测试一下:


第二次输出就变了

匿名用户
2020-03-20
展开全部
这个函数的意思是 定义一个变量b并赋值为6,然后定义一个指针变量p并把b的地址赋给它,最后返回p的值
追问
函数调用完 b的空间不是被销毁了么,怎么还可以正常返回b的地址?
追答
它把b的地址赋值给p了啊    就算销毁也是赋值之后   不影响p的值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式