我已经阅读了一些类似的问题,但我仍然无法看到我要出错的地方。当初始化结构数组时出现错误(不兼容的类型)
我的malloc的指针和,似乎工作不错,但我在这条线得到一个错误(不兼容类型):
canArray [i] = (TinCan *) malloc(sizeof(TinCan))
下面是完整的代码:
typedef struct TinCan
{
int date;
int time;
} TinCan;
int main()
{
int i;
TinCan *canArray = malloc(10 * sizeof(TinCan));
for (i =0; i < 9; i++)
{
canArray [i] = (TinCan *) malloc(sizeof(TinCan));
}
}
谢谢,我明白了。如果我现在要将该数组传递给初始化方法,它会是这样吗? intitialise(canArray **)?这不适合我。 – Dawson 2013-05-01 06:46:38
没关系。你可以有一个函数初始化一个数组或一个指针数组。我可能会采用第一种方法(指向10个TinCan的指针),因为代码会更清晰。 – 2013-05-01 06:48:43
此外,重要的是要记住,数组和指针是不一样的 - 如果这听起来很混乱,请阅读http://c-faq.com/aryptr/aryptr2.html – 2013-05-01 06:50:52