1.const char*
const在指针前:修饰常量-- - 指向常量的指针 指针指向可以改,指针指向的值不可以改
char ch[5] = "list";
const char* pStr = ch;
//pStr = 'w'; error
pStr = "hi";
提示:虽然不能用pStr去修改它所指向的数组元素的值,但我们可以通过数组变量ch来修改元素的值。
应用场景:在定义函数时,利用指针类型来传参数,通常将形参声明为const char*类型,这样就不能利用形参来修改该指针所指向的内容,从而保证数据的一致性
2.char *const
const在指针后:修饰指针-- - 指针常量 指针指向不可以改,指针指向的值可以改
char ch2[5] = "list";
char* const pStr2 = ch2;
std::cout << "Hello World!\n";
小结:
const char 类型的指针(指向常量的指针)其所指向的内容是常量,是不可以修改的,但其指针值是可以修改的。但对于char*const类型的指针(常量指针)来说,它的地址是一个常量,也就是说,它的指针值是常量,不可以修改,但其指向的内容是可以修改的。*