c语言双重指针做形参
时间: 2023-12-08 11:27:53 浏览: 105
c语言指针练习
C语言中的双重指针是指一个指针变量的地址存储在另一个指针变量中。这个概念通常用于多级指针或者在函数中修改指针的值。在C语言中,使用双重指针可以通过间接引用的方式修改原始指针的值。
下面是一个简单的示例代码,展示了如何使用双重指针:
```
#include <stdio.h>
void modifyValue(int** ptr) {
int newValue = 10;
*ptr = &newValue;
}
int main() {
int value = 5;
int* ptr = &value;
printf("Before modification: %d\n", *ptr);
modifyValue(&ptr);
printf("After modification: %d\n", *ptr);
return 0;
}
```
在这个示例中,`modifyValue` 函数接受一个 `int**` 类型的参数,即双重指针。它将创建一个新的整数变量 `newValue` 并将其地址存储在传入的指针 `ptr` 所指向的位置上。通过间接引用 `*ptr`,我们可以修改 `main` 函数中的 `ptr` 指针的值。
运行上面的代码,输出将会是:
```
Before modification: 5
After modification: 10
```
通过双重指针,我们成功地在函数中修改了原始指针的值。这在某些情况下非常有用,例如动态分配内存或者在函数中修改指针参数。
阅读全文