指针常量与常量指针
我觉得是“常量指针”和“指针常量”这样的翻译比较难记忆而已。
本质上是,1)“指向常量的指针”;2)“指针本身是常量”。
我是这么理解的,*前面的是对被指向对象的修饰,*后面的是对指针本身的修饰。
还有一种记忆方法是优先const修饰左边的内容,如果左边为空则修饰右边的。
如:const int * p修饰int,int const * p修饰int,int * const p修饰*。
前两个是常量指针,指针指向的那个int值不可修改;后一个是指针常量,指针自己的指向不可修改。
屡试不爽的小方法:
把const读作常量,把星号*读作指针
比如:
int * const p 就是指针常量(const pointer),指针的地址是常量
int const * p 就是常量指针(pointer to const),指向的量是常量
以此类推……
另外还有一件事:常量指针虽然不能修改常量的值,但是其他没加const的指针可以修改。



浙公网安备 33010602011771号