const char * 、char const *、 char * const 三者的区别
可以参考大神博客,点击前往
假设 p 指针指向的内容是 str
- const char *p = str :是定义一个指向字符常量的指针
p 自身的值可以修改
不能通过 p 修改 p 指向的值(也就是str的值)
可以通过 str 修改自身的值 - char const *p :同上
- char * const p :是定义一个指向字符的指针常量
p 自身的值不能修改
可以通过 p 修改 p 指向的值(也就是str的值)
可以通过 str 修改自身的值
综上,发现这种 const 语句只是对指针 p 做了限制,并不影响 str 本身的功能