链表事件警告:从不兼容的指针类型分配

时间:2013-01-25 23:28:15

标签: c incomplete-type

我有一个链表的结构类型,骨架代码如下所示。但是当我编译代码时,我得到“警告:从不兼容的指针类型赋值”,用于操作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;
}

1 个答案:

答案 0 :(得分:3)

在创建之前不能使用typedef。将结构更改为:

typedef struct data {
    size_t size;
    struct data* next;
} data_t;