函数参数传递
传参方式
- 值传递
- 址传递
- 若是想经过参数改变某一个变量的值,实参为该变量的地址。称为址传递
- 引用传递
数组做为函数的形参
- 弱化为指针类型 大小为4个字节
- 当数组做为函数形参时,必须添加一个参数做为数组大小
练习代码
void change(int a, int b) {
int t = a;
a = b;
b = t;
cout << "a=" << a << endl;
cout << "b=" <<b << endl;
}
void change(int *pa, int *pb) {
int t = *pa;
*pa = *pb;
*pb = t;
cout << "a=" << *pa << endl;
cout << "b=" << *pb << endl;
}
void change1(int& a, int& b) {
int t = a;
a = b;
b = t;
cout << "a=" << a << endl;
cout << "b=" << b << endl;
}
void GetMemory(int **p) {
*p = new int;
}
void PrintArray(int n[100],int size) {
cout <<sizeof(n) << endl;
for (int i = 0; i < size;i++)
{
cout << n[i] << endl;
}
}
int main() {
int n[6] = {};
PrintArray(n,6);
int *p = nullptr;
GetMemory(&p);
cout << p << endl;
delete p;
p = nullptr;
int a = 10, b = 20;
change(a, b);
cout << "a=" << a << endl;
cout << "b=" << b << endl;
change(&a, &b);
cout << "a=" << a << endl;
cout << "b=" << b << endl;
change1(a, b);
cout << "a=" << a << endl;
cout << "b=" << b << endl;
return 0;
}
复制代码