1、const修饰普通变量和指针
(1)、const修饰普通变量
其写法有2种:a、const type value;
b、type const value;
这两种写法本质上是一样的。其含义是:const修饰的类型为type的变量value是不可变的。
(2)、const修饰指针
A、const char * value;
B、char * const value;
C、char const * value;
D、const char* const value;
对于前3种,我们换种方式,给其加上括号:
A、const (char) * value;
B、(char *) const value;
C、(char) const * value;
这样看就感觉一目了然了,根据const修饰非指针变量的规则,很明显:A=C
对于A、C,const修饰的类型为char的变量*value为常量,因此,value的内容为常量不可变。
对于B,其实还有一种写法:const (char *) value;其含义为:const修饰的类型为char *的变量value为常量,因此,value指针本身为常量不可变。
对于D,其实是A和B的混合体,表示指针本身和指针内容两者皆为常量不可变。