char * const [指向字符的静态指针]
英文[ const pointer to char ]
const char * [指向静态字符的指针]
[pointer to const char]
那么现在东西很明显了,什么可以改变什么不可以
很明显,第一种指针是不能变的,as it is const
第二种指针可以变,但是字符不能变,它是const char
它的好处是参数不易出现问题,有很好的稳定性。
好了我么总结一下,const char *与char const* 效果一样,都是不允许修改指针指向的地址空间的值,即把值作为常量,而char * const则是不允许修改指针自身,不能再指向其他地方,把指针自己当作常量使用。需要注意的是,使用char * const 定一个常量指针的时候一定记得赋初始值,否则再其他地方就没法赋值了。