尝试声明字符串数组时在c语言中出错

尝试声明字符串数组时在c语言中出错,c,arrays,compiler-errors,declaration,declare,C,Arrays,Compiler Errors,Declaration,Declare,我试图用c语言声明这个字符串数组(或者我认为是一个2d字符数组),但是编译器ide给了我一个错误:“[error]数组类型的元素类型不完整” 我做错了什么?您必须指定字符串的最大长度。这应该能解决你的问题 char division[][25]={"Northeast Division","Northwest Division","Southeast Division","Southwest Division"}; 您可以这样声明: char *division[]={"Northeast D

我试图用c语言声明这个字符串数组(或者我认为是一个2d字符数组),但是编译器ide给了我一个错误:“[error]数组类型的元素类型不完整”


我做错了什么?

您必须指定字符串的最大长度。这应该能解决你的问题

char division[][25]={"Northeast Division","Northwest Division","Southeast Division","Southwest Division"};

您可以这样声明:

char *division[]={"Northeast Division","Northwest Division","Southeast Division","Southwest Division"};

可能的重复您想在运行时修改这些“字符串”吗?在1d数组中,如果给定数组中的内容,您不需要这样做……那么为什么您需要在2d中这样做呢?因为如果我们不指定行长度,那么编译器将无法知道如何尊重其他行元素。并进行深入的解释。
char *division[]={"Northeast Division","Northwest Division","Southeast Division","Southwest Division"};