指针变量 存储的是参数的指定地址还是地址
时间: 2024-03-17 14:41:32 浏览: 21
指针变量存储的是地址,而不是参数的指定地址。
在 C/C++ 中,指针是一种特殊的变量,它存储了一个内存地址。通过指针,我们可以访问存储在该地址处的数据。指针变量的类型决定了该指针所指向的对象的类型。
当我们将一个变量作为参数传递给函数时,实际上传递的是该变量的值,而不是该变量的地址。如果我们希望在函数内部修改该变量的值,可以通过传递该变量的指针来实现。在这种情况下,指针变量存储的是该变量的地址,函数可以通过该地址来访问并修改该变量的值。
例如,以下代码演示了如何通过指针来交换两个变量的值:
```
void swap(int* a, int* b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int x = 10;
int y = 20;
cout << "Before swap: x = " << x << ", y = " << y << endl;
swap(&x, &y);
cout << "After swap: x = " << x << ", y = " << y << endl;
return 0;
}
```
在上述代码中,`swap` 函数接收两个指向 `int` 类型的指针作为参数,函数体内通过指针访问并交换了两个变量的值。在 `main` 函数中,我们创建了两个 `int` 类型的变量 `x` 和 `y`,并分别赋值为 10 和 20。然后我们调用了 `swap` 函数,并传递了 `x` 和 `y` 的地址作为参数。最后打印输出交换后的结果。
相关推荐
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)