1.指针参数
#include "stdafx.h"
#include <iostream>
using namespace std;
char * a = new char[20];
void test(char * pArr)
{
cout<<&pArr<<endl;
a = "hello";
pArr = a;
cout<<pArr<<endl;
}
int _tmain(int argc, _TCHAR* argv[])
{
char * arr = "12321";
cout<<arr<<endl;
cout<<&arr<<endl;
test(arr);
cout<<&arr<<endl;
cout<<arr<<endl;
}
输出为:
由第三行可以看出,在传递指针的时候,函数还是进行了形参到实参的拷贝,所以改变函数传入指针的指向值不会影响原来的值。
如果你需要修改指针的值,那么你需要改下参数为:
void test(char * &pArr)2. 数组参数
数组参数,会被降阶,转化为指针,从而无法知道数组的长度,所以一般传字符数组的话,也需要传入数组的长度,另外,也可以使用 & 修改值。

本文探讨了C++中指针参数与数组参数的使用方式及其区别。通过具体实例展示了如何正确地使用指针参数来修改外部变量,并讨论了数组作为参数时的特殊行为及注意事项。
985

被折叠的 条评论
为什么被折叠?



