我有一个链表的结构类型,骨架代码如下所示。但是当我编译代码时,我得到“警告:从不兼容的指针类型赋值”,用于操作temp = temp->下一个。我只是想知道为什么以及是否应该担心这件事。提前谢谢!
typedef struct data {
size_t size;
struct data_t* next;
} data_t;
void* dmalloc(size_t numbytes) {
while(temp!=NULL){
if(temp->size>=numbytes) {
//do something
}
temp = temp->next; //problem line
}
return NULL;
}
答案 0 :(得分:3)
在创建之前不能使用typedef。将结构更改为:
typedef struct data {
size_t size;
struct data* next;
} data_t;