const char* p
定义的是一个指向字符型的指针变量。即p是一个变量,p可以变,也就是说p指向的地址可以发生变化,但是p指向的地址的内容无法改变。
int main()
{
char ch1[6] = {"abcde"};///(补充一下:在字符串存储中最后都会加上一个结束符'\0'。所以存储5个字符的字符串应该要有6个空间。)
const char(* ph)=ch1;
char ch2[4]={"bit"};
ph=ch2;//正确
*ph = 'c';//错误
printf("%s",ph)//bit
printf("%s\n", ch1);//abcde
return 0;
}
char* const p
定义的是一个指向字符型的指针常量。即p变成了常量,p不可以变,也就是说p指向的地址不可以发生变化,但是p指向的地址的内容可以修改。
int main()
{
char ch1[6] = { "abcde" };
char *const ph = ch1;
char ch2[4] = { "bit"};
ph = ch2;//错误
*ph='c';//正确
printf("%s", ph);//cbcde
printf("%s", ch1);//cbcde
return 0;
}
版权声明:本文为2202_75625589原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。