比方说我想定义一个字符串数组 不知道将来要输进去多少又不想把它的长度写多了 好像似乎这样就可以?
char *y;
y="abaew";
但好像会出错?
比方说我想定义一个字符串数组 不知道将来要输进去多少又不想把它的长度写多了 好像似乎这样就可以?
char *y;
y="abaew";
但好像会出错?
不可以!
用malloc分配空间
int len;
len = strlen("abaew");
char *y = malloc(len+1);
strcpy(y,"abaew");
y[len]='\0';
c99好像可以定义动态数组,但个人觉得少用为好
int len;
len = strlen("abaew");
char y[len+1];
strcpy(y,"abaew");
y[len]='\0';
最新的C支持用变量作为数组长度。