以字符常量指针的形式传递字符串指针是很常见也很有用的技术,这样可以用指针传递字符串,同时也能防止传递的字符串被修改。下面对5.3.1节中的stringLength
函数更好的实现就是利用了这种声明:
size_t stringLength(const char* string) {
size_t length = 0;
while(*(string++)) {
length++;
}
return length;
}
如果我们试图像下面这样修改原字符串,那么就会产生一个编译时错误消息:
size_t stringLength(const char* string) {
...
*string = 'A';
...
}