函数的参数传递c++
时间: 2024-10-24 21:04:44 浏览: 6
C/C++函数参数传递机制详解及实例
5星 · 资源好评率100%
在 C++ 中,函数参数的传递主要有三种方式:值传递、引用传递和指针传递。
1. **值传递** (Pass by Value): 当我们直接将变量作为参数传递给函数时,实际上是复制了一个副本。对函数内的参数修改不会影响到原始变量。这种方式适用于小型简单数据类型,如基本数据类型(int, char等)。
```cpp
void modify(int x) {
x = 10; // 对于函数内部来说,x是一个新的局部变量
}
int main() {
int a = 5;
modify(a); // a在main函数中不受影响,仍为5
}
```
2. **引用传递** (Pass by Reference): 使用 & 符号表示,可以直接操作函数外部的变量。如果对引用进行修改,则会影响到原变量。这对于大对象或需要频繁修改的对象非常有用。
```cpp
void modify(int& x) {
x = 10; // 直接修改了传入的引用所指向的变量
}
int main() {
int a = 5;
modify(a); // 现在a的值为10
}
```
3. **指针传递** (Pass by Pointer): 使用 * 符号,可以传递变量的地址,同样可以修改原变量。注意要避免空指针。
```cpp
void modify(int* p) {
*p = 10; // 修改指针所指向的内存位置
}
int main() {
int a = 5;
modify(&a); // a的值现在也为10
}
```
阅读全文