const修饰指针——常量指针、指针常量、既修饰指针又修饰常量

学到指针,记下笔记,以防将来忘记!!!

1、const修饰指针 ——常量指针

int a = 10;
int b =10;
int * p = &a;

const int * p = &a;
常量指针
特点:指针的指向可以修改,但指针指向的值不可以改;

*p =20;//错误,指针指向的值不可以改
p = &b;//正确,指针的指向可以改

const修饰指针——常量指针、指针常量、既修饰指针又修饰常量_第1张图片

2、const修饰常量——指针常量

int a = 10;
int b = 10;
int * p = &a;

int * const p = &a;
指针常量
特点:指针的指向不可以改,但指针指向的值可以改;

*p = 20; //正确,指向的值可以改
p = &b; //错误,指针指向不可以改

const修饰指针——常量指针、指针常量、既修饰指针又修饰常量_第2张图片
3、const既修饰指针,优秀是常量

int a = 10;
int b = 10;
int * p = &a;

const int * const p = &a;

特点:指针的指向和指针指向的值都不可以改;

*p = 20; // 错误
p = &b; // 错误
const修饰指针——常量指针、指针常量、既修饰指针又修饰常量_第3张图片

你可能感兴趣的:(笔记,c++)