char str1[10]; //申明一个字符数组str1, 为其分配10个字节空间。str1是这个数组的地址起始
str1="string"; //对于一个地址来说。它只能接受已经开辟了空间的地址,而不是某个数值或者其他类型数据。如:
char* p = malloc(sizeof(int)); 或者 int a = 9; int *p = a;
上述都是系统给其分配了空间,(mallo或者自动分配)。而“string“是一个字符串还没有占内存空间,所以赋值错误!
char str1[10]="string"; 这样初始化是可以的
char str1[10]; str1="string"; 指针str1是不能存放字符串的,只能具体赋值如:str1[0]='s';
应该是C吧