取消引用指向不完整类型的指针

ant*_*009 0 c pointers

gcc 4.4.4 c89

不知道为什么我收到此错误.

在我的头文件中,我有以下内容

handle.h

typedef struct Handle_t Handle
Run Code Online (Sandbox Code Playgroud)

在我的实现文件中

handle.c

struct Handle {
    size_t id;
    char *name;
};

Handle* create_handle(size_t id)
{
    Handle *hdev = NULL;
    hdev = malloc(sizeof(*hdev)); /* Error */
    .
    .
}
Run Code Online (Sandbox Code Playgroud)

非常感谢任何建议,

pmg*_*pmg 6

typedef经常弄错,直到我开始把它想象成两个部分:typedef.该类型第一,然后是DEF新名称的从头.

typedef <type> <name>;
typedef struct Handle Handle_t; /* defines Handle_t as struct Handle */
typedef char *c_string;         /* defines c_string as char * */
Run Code Online (Sandbox Code Playgroud)