1、首先来了解一下常量
const int num = 5;
那么num的值是5, num的值不可修改
2、来了解一下指针
int value = 5;
int* p = &value;
我喜欢吧指针和类型放一起,来强调p是一个指针类型, 而赋值的时候就得赋值一个int类型的地址。
p的地址和value的地址一样,那么 *p 是 5。
3、指针(本身是一个)常量
一个指针本身是常量,也就是说该指针他指向的地址不可以修改
int value = 5;
int* (const p) = &value;
为了方便理解,再cosnt p 加上括号, 代表p本身不可改变,举个通俗的例子,指针就是一个房产证,这个证代表你的房子位置是固定的,你可以随意布置房子。
4、指针(所指向的是一个)常量
顾名思义:他是一个常量,用一个指针指向该常量,所以该指针他指向的地址里的内容是不可以修改的
const int num = 5;
(const int) *p = #
为了方便理解,在const int 加上括号,代表 *p 不可修改。举个通俗的例子,就是有一本房产证,该房产证的地址你随意更改,但是房子里啥都不能改,相当于你可以随意把你的家移动到某个地址。
5、指针本身是一个常&& 所指向的数据也是一个常量
const int value = 5;
(const int) * (const p) = &value;
代表p 本身不可修改 && *p 也不可修改