int const *p;
指向int型只读变量的指针
const int *p;
指向int型只读变量的指针,与第一个相同
int * const p;
指向int型变量的只读指针
const int * const p;
指向int型只读变量的只读指针
const * int p;
const int const *p;
很明显,这是错的
由上可以这样总结,const表示是只读变量,还是只读指针变量,关键看const是在*和变量名之间呢,还是在它们外面,如果const做了第三者,那么指的是一个只读的指针变量,否则,就是一个只读的普通变量。
const修饰的变量在定义的时候需要初始化,不进行初始化是会编译出错的。
除了const修饰符以外,还有volatile, static,类似的情况
请批评指正