const 指针的用法
时间: 2023-04-02 15:00:22 浏览: 87
const 指针用于指向常量对象,即指针所指向的对象的值不能被修改。例如:
const int* p; // p 是一个指向常量整数的指针,p 所指向的整数值不能被修改
int const* p; // 与上一行等价
int* const p; // p 是一个指向整数的常量指针,p 的值不能被修改,但是 p 所指向的整数值可以被修改
const int* const p; // p 是一个指向常量整数的常量指针,p 的值和 p 所指向的整数值都不能被修改
相关问题
指针和const的用法
指针是一个变量,其存储的值是内存地址。const是一个关键字,用于指示变量的值是常量,即不能被修改。指针和const可以结合使用,有以下几种用法:
1. const修饰指针,表示指针所指向的内存空间的值不能被修改,但是指针本身的值可以被修改。
```
const int* p;
int const* p;
```
2. 指针指向const对象,表示指针所指向的对象的值是常量,不能被修改,但是指针本身的值可以被修改。
```
int const* p;
```
3. const修饰指针和指针所指向的对象,表示指针所指向的对象的值不能被修改,而且指针本身的值也不能被修改。
```
const int* const p;
int const* const p;
```
4. const修饰函数参数,表示该参数是输入参数,函数不能修改该参数的值。
```
void func(const int* p);
```
5. const修饰函数返回值,表示函数返回的值是常量,不能被修改。
```
const int func();
```
指针与const的用法
指针和const都是C++语言中非常重要的概念。
指针是一个变量,它存储了一个内存地址。通过指针,可以访问该地址处存储的数据。在C++中,我们使用*和&来声明和使用指针变量。
const关键字用于定义常量。在C++中,常量是不能被修改的值。使用const关键字可以使变量或函数参数成为常量。
指针和const可以一起使用,有以下几种情况:
1. const修饰指针变量,表示该指针变量指向的地址所存储的数据是常量,不能修改。
```c++
const int* p;
```
上述代码中,p是一个指向int类型常量的指针变量,即p指向的地址所存储的数据是常量,不能被修改。但是,指针变量p本身是可以修改的,可以指向其它地址。
2. 指针变量和const同时修饰变量,表示该变量是一个常量,同时指针变量也不能修改。
```c++
int const* p;
```
上述代码中,p是一个指向int类型常量的指针变量,同时p本身也是一个常量,不能被修改。
3. const修饰指针变量和指针变量所指向的数据类型,表示该指针变量和指针指向的地址所存储的数据都是常量,不能被修改。
```c++
const int* const p;
```
上述代码中,p是一个指向int类型常量的指针变量,同时p本身也是一个常量,不能被修改,指向的地址所存储的数据也是常量,不能被修改。
需要注意的是,const关键字的位置和使用方式会影响它所修饰的对象。在使用指针和const时,需要根据情况选择合适的修饰方式。
相关推荐
![txt](https://img-home.csdnimg.cn/images/20210720083642.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)