有关才C/C++中函数参数是指针的看法(一)
看c++时的一些看法,大家看看呗。首先来看一下代码#include<iostream>
using namespace std;
void f(int *a,int *b)
{
a = NULL;
b = NULL;
}
int main()
{
int *a = new int(),*b = new int();
cout<<a<<" "<<b<<endl;
f(a,b);
cout<<a<<" "<<b;
}
运行结果是a和b的地址从未变过。结论就是函数中用指针作为参数是无法修改指针的地址的。
原因分析,其实指针本身就是一种变量,当这个变量做参数的时候我们可以修改的是这个变量所指向的地址的内容
但是当地址变量本身改变的时候是不会影响实参的地址的。
所以我们在选择指针作为变量的时候,遇到变量指向变化的时候就要考虑程序的有关问题了。
这是我在甲鱼论坛的第一篇说说,如有错误欢迎提出。Thank you!
页:
[1]