头歌c++指针定义和应用
时间: 2023-11-03 15:23:03 浏览: 107
C++中的指针是一种变量类型,用于存储另一个变量的内存地址。指针通常用于动态分配内存,传递函数参数以及在程序中处理数据结构等任务。
指针的定义格式如下:
```C++
type *pointer_name;
```
其中,type是指针指向的变量类型,pointer_name是指针的名称。例如,定义一个指向整数的指针可以写成:
```C++
int *ptr;
```
指针的应用包括以下几种情况:
1. 取地址运算符&
取地址运算符&用于返回变量的地址,例如:
```C++
int num = 10;
int *ptr = # // 将num的地址赋值给指针ptr
```
2. 解引用运算符*
解引用运算符*用于访问指针所指向的变量,例如:
```C++
int num = 10;
int *ptr = #
*ptr = 20; // 修改指针所指向的变量的值
```
3. 动态分配内存
可以使用new运算符动态分配内存,例如:
```C++
int *ptr = new int; // 动态分配一个整数类型的内存空间
*ptr = 10; // 将10赋值给指针所指向的变量
delete ptr; // 释放内存空间
```
4. 指针数组
指针数组是一个数组,其元素均为指针类型,例如:
```C++
int num1 = 10, num2 = 20;
int *ptr_arr[2]; // 定义一个包含两个整型指针的数组
ptr_arr[0] = &num1; // 将num1的地址赋值给数组的第一个元素
ptr_arr[1] = &num2; // 将num2的地址赋值给数组的第二个元素
```
5. 函数指针
函数指针是指向函数的指针类型,例如:
```C++
void print(int num) {
std::cout << num << std::endl;
}
void (*ptr)(int); // 定义一个函数指针
ptr = print; // 将print函数的地址赋值给指针
ptr(10); // 调用函数指针,输出10
```
这些是指针的一些常见用法,还有其他更复杂的用法,需要根据实际需求灵活运用。
阅读全文