定义:关键字const用来定义常量,如果一个变量被const修饰,那么它的值就不能再被改变
开门见山,如何区分这几个的区别,一个原则。const离谁最近,那么const就是修饰谁的。
注意:
(1)const修饰变量类型时,此时不能直接修改变量的值,只能通过修改指针的指向。
(2)const修饰指针时,此时不能修改指针的指向,但是可以修改指针指向变量的值。
int * const p4 = &a; //const离指针p4最近,所以是用来修饰指针p4的;
int const * p1 = &a; //const离int最近,此时const修饰的是int变量,所以不能修改int值;
const int * p3 = &a; //const离int最近,此时const修饰的是int变量,所以不能修改int值;
int const * 和 const int * 意义等同。
const int a 和 int const a; 这两个 没区别,都是修饰int;
结语:时间紧急,先写个简单的解释吧。日后想起来再补详细,想不起来那就这样吧。