【发布时间】:2014-04-23 08:08:59
【问题描述】:
typedef struct
{
char*title;
int year;
int length; //in minutes
} record;
record list[1024];
int j;
for(j=0;j<1024;++j)
list[j]=NULL;
我正在尝试初始化一个结构数组并让每个元素最初都指向 null,而 gcc 给我一个错误“从类型 'void* 分配给类型 'record' 时类型不兼容”。我该如何解决?这样做的目的是当我访问一个元素时,我能够查看它是否有数据或只是空的。
【问题讨论】:
-
人们经常使用
memset(list, '\0', sizeof(list));。 -
您的数组不是指向
records 的指针数组,而是record值的数组。您不能将数组的元素设置为NULL,因为它们不是指针。这不是 java... -
你说的太对了!非常感谢。
-
我想要一个指针数组而不是 struct..谢谢。