前言
在之前我们知道const可以修饰变量,表示常变量,从语法层面让变量不可以修改,但是发现const直接修饰变量可以被用指针修改,那这样我们的目的不就没有到达吗,代码也容易出现bug。
const修饰指针
所以我们可以用指针存放变量的地址,用const修饰指针,我们就可以到达目的。
const修饰指针也分两种情况:
const在 * 左边
当我们再想修改的时候会发现报错了,说明const真的让我们的变量a无法修改了。但是我们的指针p可以修改吗?
答案是可以的, 所以const放在 * 左边修饰指针,指针自己可以被修改,但是指针指向的内容不可以修改。
const在 * 右边
const放在 * 右边的效果刚好和左边相反, 指针自己不可以被修改,但是指针指向的内容可以修改。
结论
const在 * 左边,指针自己可变,指向的内容不可变。(可以起到防止变量被修改的作用)
const在 * 右边,指针自己不可变,指向的内容可变。