const char*和char *const

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类型的指针(常量指针)来说,它的地址是一个常量,也就是说,它的指针值是常量,不可以修改,但其指向的内容是可以修改的。*

猜你喜欢

转载自blog.csdn.net/weixin_50188452/article/details/114684904