c/c++/vs2020/函数与指针形参

在函数中使用指针作为参数传递可以让函数修改指针所指向的数据,或者通过指针返回额外的结果。以下是使用指针作为参数传递的方法:

1. 传递指针作为参数:在函数定义时,将参数声明为指针类型,然后将指针作为实参传递给函数。这样函数内部就可以通过指针来访问和修改指针所指向的数据。
```C++
void modifyValue(int* ptr) {
    *ptr = 10;  // 修改指针所指向的值
}

int main() {
    int num = 5;
    modifyValue(&num);  // 将指针传递给函数
    // 此时num的值被修改为10
    return 0;
}
```

2. 传递指向指针的指针:有时候需要在函数内部修改指针本身,可以使用指向指针的指针来实现。在函数定义时,将参数声明为指向指针的指针类型,并传递指针的地址作为实参。
```C++
void modifyPointer(int** pptr) {
    int* ptr = new int;  // 创建一个新的指针
    *ptr = 10;
    *pptr = ptr;  // 修改指针本身
}

int main() {
    int* ptr = nullptr;
    modifyPointer(&ptr);  // 将指针的地址传递给函数
    // 此时ptr指向一个新的内存空间,其中存储的值为10
    delete ptr;  // 记得释放内存
    return 0;}
```

3. 使用引用作为指针参数:C++语言中,还可以使用引用作为指针参数来实现类似的效果。在函数定义时,将参数声明为引用类型,并将指针作为实参传递给函数。
```C++
void modifyValue(int& ref) {
    ref = 10;  // 修改引用所绑定的值
}

int main() {
    int num = 5;
    modifyValue(num);  // 将指针作为实参传递给函数
    // 此时num的值被修改为10
    return 0;
}
```

你可能感兴趣的:(c++)