我一直想知道我怎么能摆脱这个:
int main(int argc, char **argv) {
printf("%p %s %d\n", &argv[1], argv[1], strlen(argv[1]));
char copy[strlen(argv[1]) + 1];
strcpy(copy, argv[1]);
printf("%p %s %d\n", ©, copy, strlen(copy));
return 0;
}
char 数组copy
无论如何都会被分配,程序运行良好,打印出原始和副本。Valgrind 没有抱怨任何事情。
我认为如果没有 malloc,动态数组在 C 中是不可能的。我错了吗?