int main()
{
char a[]="I am a girl.";
a=a+3;
}
此时这是错误的,因为数组名代表地址,这里是常量,它的值不能改变。但是下面的例子呢?
#include <stdio.h>
int main()
{
void change(char p[]);
char a[] = "I am a girl.";
change(a);
return 0;
}
void change(char p[])
{
printf("%s", p);
p = p + 2;
printf("%s", p);
}
在此例子中,change函数里,p=p+2;却是正确的,形参在接收到了实参传过来的地址后,就存在了p数组,那么p当然也代表了地址,也是常量,为什么这样就可以呢?