如何区分
1、const的右边是指针类型,则指针是const,即const指针;const的右边是整型类型,则该类型是const,即指向const的指针;
2、指向const的指针可以不用初始化,因为指向可以变更;const指针必须初始化,因为不能更改;
3、重点是要理解指针也是一个变量,只不过这个变量的值是另外一个变量的地址;
指向const的指针
指向const的指针,代表指针所指向的变量的值不能更改;
有两种形式:可以不用初始化,因为指向可以变更;
const int* p1;
int const* p2;
const指针
const指针,代表指针的指向不能更改;
指针作为变量,const指针代表指针的值不能变化,所以const指针必须初始化,就是要在定义的时候把指针的值(指针的指向)定下来;
int a = 10;
int* const p3 = &a;
指向const的const指针
指向const的const指针,代表指针和指针指向的值都不能变更,兼具上述两者共同特性,也需要初始化;
int b = 5;
const int* const p4 = &b;
^ V ^:还挺有意思的,不是吗