void fun() { char data[200] = "welcome to CHENGDU and UESTC";
char *point;
char array[200];
int i, length = 0;
point = array;
while (data[length] != '\0')
length++;
for (i=0; i < length; i++) {
*point = *data;
point++;
data++;
}
puts(data);
}
point 是变量, 它存得是地址, 变量可以作为左值,可以自增。
data是数组名, 数组名是地址, 但此时是作为常量,不可作为左值,不可以自增;
数组名是地址 它不是变量 数组才是变量,所以data++是错误的
程序可以改成:
*point=data[i];
point++;
本文深入探讨了C语言中指针与数组的区别及应用,解析了如何使用指针遍历数组,揭示了数组名作为常量不可自增的特点,并提供了正确的代码实现方式。
4707

被折叠的 条评论
为什么被折叠?



