1.在函数调用中,char []参数声明会自动转化成char *
2.sizeof(char*)等于4或8,取决于是32位还是64位系统
sizeof(char [])等于字符串的长度+1(\0)
sizeof(char [x])等于x
void foo(char a[100]){
printf("%d\n",sizeof(a);//sizeof(char[100]) == sizeof(char *)
}
int main(){
foo();//在64位系统中会打印8,32位系统中会打印4
char b[] = "hello";
printf("%d\n",sizeof(b));//会打印6,为hello的长度加上\0
char c[100] = "hello";
printf("%d\n",sizeof(c));//会打印100,为char[100]的大小
char *d = "hello";
printf("%d\n",sizeof(d));//会打印4或者8(32为系统或64位系统),为char*的大小
}