C++,函数里形参是指针,在函数里改变指针所指向的地址时,主函数里实参地址是否会改变

求大神指教... 求大神指教 展开
 我来答
未来需努力点缀
2012-04-08 · TA获得超过4679个赞
知道大有可为答主
回答量:850
采纳率:50%
帮助的人:528万
展开全部
不会
这种情况好比:
函数里的形参是一般变量,在函数里面改变变量的值,不会改变主函数里实参的值

指针就是地址变量 在函数里改变地址变量的值时 不会改变主函数实参地址变量的值
只有在函数里改变指针所指向的变量的值时 主函数实参指针所指向的变量的值才会改变

楼主可以自己在电脑上实践一下
希望你懂了哈
追问
我感觉不对,我试试哈
追答
自己运行一下程序:
#include
using namespace std;
static int b=4;
void pointer(int *p){
p=&b; //改变实参指针指向的地址
}
int main(){
int *p1,a=5;
p1=&a;
cout""<<*p1<<endl;
return 0;
}
结果都是5 说明p1指向的地址没变
306712241
2012-04-08 · TA获得超过2512个赞
知道小有建树答主
回答量:890
采纳率:100%
帮助的人:262万
展开全部
不会的,你可以用形参指针改变实参指针里面的数,但形参指针地址改变,实参指针是不会改变的 ,这也就是为什么C语言中讲两个数交换的时候,为什么必须写成*p的形式的原因。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式