前言
今天学习的是指针部分的const修饰指针
一、const修饰指针有哪些情况?
1.const修饰指针—常量指针
2.const修饰常量—指针常量
3.const即修饰指针,又修饰常量
二、具体介绍
1.const修饰指针—常量指针
代码如下:
int a = 10;
int b = 20;
const int * p = &a;
特点:指针的指向可以修改,但是指针指向的值不可以修改
助记:const 直接修饰的是*,所以针对*的操作均不可以执行
例如:
* p = 20; //错误,指针指向的值不可以修改
p = &b; //正确,指针的指向可以修改
2.const修饰常量—指针常量
代码如下:
int a = 10;
int b = 20;
int * const p = &a;
特点:指针的指向不可以修改,但是指针指向的值可以修改
例如:const直接修饰的是指针p,所以不可以改变指向
* p = 20; //正确,指针指向的值可以修改
p = &b; //错误,指针的指向不可以修改
3.const即修饰指针,又修饰常量
代码如下:
int a = 10;
int b = 20;
const int * const p = &a;
特点:指针的指向和指针指向的值都不可以修改
例如:
* p = 20; //错误,指针指向的值不可以修改
p = &b; //错误,指针的指向不可以修改
总结
看const后直接修饰的是啥,据此判断修饰类型。