C++指针
时间: 2023-07-11 22:11:53 浏览: 58
在C++中,指针是一种变量类型,用于存储另一个变量的内存地址。指针变量本身也有自己的内存地址,这个地址也可以被另一个指针变量所存储。指针变量通常用于动态分配内存、传递函数参数、访问数组元素等操作。
指针的定义和使用格式如下:
```c++
type *pointer_name; // 定义指针变量
pointer_name = &variable_name; // 给指针变量赋值,指向 variable_name 的地址
*pointer_name = value; // 使用指针变量访问 variable_name 的值,并修改它
```
其中,type是指针变量所指向的变量的数据类型,pointer_name是指针变量的名称,variable_name是指针变量所指向的变量的名称,&variable_name是variable_name的地址,value是要赋给variable_name的值。通过*pointer_name访问variable_name的值,也可以通过pointer_name访问variable_name的地址。
以下是一个简单的指针示例,用于交换两个变量的值:
```c++
#include <iostream>
using namespace std;
void swap(int *x, int *y) {
int temp = *x;
*x = *y;
*y = temp;
}
int main() {
int a = 10;
int b = 20;
cout << "Before swap, a = " << a << " and b = " << b << endl;
swap(&a, &b);
cout << "After swap, a = " << a << " and b = " << b << endl;
return 0;
}
```
输出:
```
Before swap, a = 10 and b = 20
After swap, a = 20 and b = 10
```
在这个示例中,swap函数的参数是两个指针变量,通过解引用操作符*访问指针所指向的变量,并交换它们的值。函数调用时,传递了a和b的地址,使得指针变量指向了它们,从而实现了值的交换。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.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)