level 11
pengzhenxx
楼主
1、const常指针这是个冷门,但却经常出现的C语言知识。。。
在Linux中随便man几个字符串相关的函数都会出现 const char* p;这样的申明,比如最常用的strcmp

这种加const的常指针和普通指针最大的区别就在于:普通指针本身是个变量既可以改变指向,又可以其指向的内容。而加const的常指针是不能其指向的内容,但可以改变其指向,什么意思。。。可以看个简单的例子:

这些写有什么好处?其实没什么好处,就是告诉其他调用你这个函数的程序员,你虽然传的地址,但是我的这个函数不会改变你原来的值,仅此而已,主要是你封装的库给别人用时,尽量用这种写法。。。
2018年09月20日 03点09分
1
在Linux中随便man几个字符串相关的函数都会出现 const char* p;这样的申明,比如最常用的strcmp

这种加const的常指针和普通指针最大的区别就在于:普通指针本身是个变量既可以改变指向,又可以其指向的内容。而加const的常指针是不能其指向的内容,但可以改变其指向,什么意思。。。可以看个简单的例子:
这些写有什么好处?其实没什么好处,就是告诉其他调用你这个函数的程序员,你虽然传的地址,但是我的这个函数不会改变你原来的值,仅此而已,主要是你封装的库给别人用时,尽量用这种写法。。。
