即时尝试读取用户的单词,然后为单词动态分配内存并将其存储在包含char *的结构数组中。我不断得到函数的隐式声明,所以我知道我会在某个地方出错。为内存中的字符指针分配一个结构
struct unit
{
char class_code[4];
char *name;
};
char buffer[101];
struct unit units[1000];
scanf("%s", buffer);
units[0].name = (char *) malloc(strlen(buffer)+1);
strcpy(units[0].name, buffer);
我认为应该是'struct unit',而不是'struct class'。 – 2010-04-21 03:55:48
@Ken,在C中完全合法。 – Earlz 2010-04-21 05:05:34
@Earlz - 它是合法的C这个事实是完全不相关的。他正在声明一个标签为“class”的结构 - 这是从来没有使用过的 - 但是使用了一个结构,标签“unit”没有在任何地方声明。 – Dipstick 2010-04-21 07:04:18