C 数组名称的意义

#include <stdio.h>
#include <stdlib.h>

void foo(char c[10]){
c++;
c[0]='a';

}
main(){

char s[10]={'1','2','3','4'};
foo(s);
printf("%s",s);

}

输出的结果是:1a34

从上面的代码中我们可以发现你可以对c指针进行操作,

但是你是无法在main函数中对s进行操作,其实这个也很好理解,如果你在main中使用了s++那么数据将会丢失,有可能无法找回原先的地址,所以编译的时候就无法通过,但是你是使用一个指针去操作时没有问题,并不会改变原先的数据地址。

posted @ 2012-09-29 14:39  Epirus  阅读(211)  评论(0编辑  收藏  举报