c语言中,在main函数里,一个字符串指针s的名字就是数组首地址,如果改变了s,比如进行了s++,

2024-11-09 06:19:05
推荐回答(2个)
回答1:

不能。s里保存的一个地址,你讲地址做“++”操作后,新的s实际指向的是数组的第二个元素,char *p = s操作后,p指向的是数组的第二个元素,后面使用这个数组可能造成数组越界。
例如:
char s[5] = {'a', 'b', 'c', 'd', 'e'};
s++; // s这时候的值是b所在的位置

回答2:

比如 char* s = "this is a string"
s++之后就成了"his is a string"
所以p=s就相当于p="his is a string"