我正在尝试为 C 字符串数组分配内存。我可以保证字符串适合MAX_STRING_LENGTH
字符,但在编译时我不知道数组中有多少字符串(这是动态计算的)。当我使用代码时...
char *strings[MAX_STRING_LENGTH] = malloc( sizeof(char *) * numstrings );
...编译器抱怨这是一个无效的初始化程序。当我使用代码时...
char strings[MAX_STRING_LENGTH][] = malloc( sizeof(char *) * numstrings );
...编译器抱怨不完整的元素类型。我在这里做错了什么,如何为这个数组分配内存?