情况1:
char ss[] = "ABCDEF";
char *p = ss;
这里的p指向的是一个非const char类型变量ss,因此可以任意更改指针指向的内容,一下两种方式均可更改数组内容
(p+1) = 'X';
p[0] = 'X';
情况2:
char *p = "ABCDEF";
此种情况下p指向的是一个const char类型变量,故无法更改数组内容,但可以进行指针位移操作
*(p + 1) = 'X';//这种做法是错误的
情况1:
char ss[] = "ABCDEF";
char *p = ss;
这里的p指向的是一个非const char类型变量ss,因此可以任意更改指针指向的内容,一下两种方式均可更改数组内容
(p+1) = 'X';
p[0] = 'X';
情况2:
char *p = "ABCDEF";
此种情况下p指向的是一个const char类型变量,故无法更改数组内容,但可以进行指针位移操作
*(p + 1) = 'X';//这种做法是错误的