C 结构数组
试图创建一个结构数组(对C来说是新的),但是当我试图初始化数组时,我得到了一个“数组类型有不完整的元素类型”。我做错了什么C 结构数组,c,arrays,struct,C,Arrays,Struct,试图创建一个结构数组(对C来说是新的),但是当我试图初始化数组时,我得到了一个“数组类型有不完整的元素类型”。我做错了什么 typedef struct morsechar { char character; char* morse; } MorseChar; struct MorseChar lookup[] ={{'A', ".-"}, {'B', "-..."}, {'C', "-.-."}, {'D',
typedef struct morsechar
{
char character;
char* morse;
} MorseChar;
struct MorseChar lookup[] ={{'A', ".-"}, {'B', "-..."}, {'C', "-.-."},
{'D', "-.."}, {'E', "."}, {'F', "..-."},
{'G', "--."}, {'H', "...."}, {'I', ".."},
{'J', ".---"}, {'K', "-.-"}, {'L', ".-.."},
{'M', "--"}, {'N', "-."}, {'O', "---"},
{'P', ".--."}, {'Q', "--.-"}, {'R', ".-."},
{'S', "..."}, {'T', "-"}, {'U', "..-"},
{'V', "...-"}, {'W', ".--"}, {'X', "-..-"},
{'Y', "-.--"}, {'Z', "--.."}, {'0', "-----"},
{'1', ".----"}, {'2', "..---"}, {'3', "...--"},
{'4', "....-"}, {'5', "....."}, {'6', "-...."},
{'7', "--..."}, {'8', "---.."}, {'9', "----."},
{'.', "#"}, {'-', "^"}};
您已经定义了类型
struct-morsechar
和morsechar
,但您正在尝试使用未定义的类型struct-morsechar
。相反,写
MorseChar lookup[] = { /* Same as before */ };
或者
struct morsechar
,但是typedef将是多余的+1.感谢您的回复,但是经过更正,我仍然得到了相同的错误:数组类型的元素不完整type@Cory此外,在使用typedef时,不必指定struct标记,除非它是递归结构:typedef struct{…}MorseChar代码>已足够。