Appearance
const在*后,修饰的是值,值不能改变;const在*前,修饰的是指针,指向不能改变;
两个const,值和指向都不能改变。
const int *p:表示p是一个指向常量整型数的指针,其指向的内存空间中的值不能被修改,但是这个指针本身的值可以被修改,即可以指向其他的内存地址。int const *p:与上面的声明等价,同样表示p是一个指向常量整型数的指针。int * const p:表示p是一个指向整型数的常指针,其指向的内存空间的值可以被修改,但是这个指针本身的值不能被修改,即p不能指向其他的内存地址。const int * const p:表示p是一个指向常量整型数的常指针,其指向的内存空间中的值不能被修改,且这个指针本身的值也不能被修改,即p不能指向其他的内存地址。
c
int main(int argc, const char *argv);
int main(int argc, char const *argv); // 同上