C:错误:取消引用指向不完整类型的指针

C:错误:取消引用指向不完整类型的指针,c,pointers,struct,C,Pointers,Struct,我得到一个错误(错误:取消引用指向不完整类型的指针) )使用addData->s=s和addData->type=type,我不知道为什么。。。它似乎应该对我有用(不过我对C有点生疏) 代码如下: int addSym(char *s, var_type type){ struct syment* addData= malloc(sizeof(syment)); addData->s = s; addData->type = type; 我把西门特当作

我得到一个错误(错误:取消引用指向不完整类型的指针) )使用addData->s=s和addData->type=type,我不知道为什么。。。它似乎应该对我有用(不过我对C有点生疏)

代码如下:

int addSym(char *s, var_type type){
    struct syment* addData=  malloc(sizeof(syment));
    addData->s = s;
    addData->type = type;

我把西门特当作

typedef struct syment_s {
  char *s;
  int offset;
  var_type type;
  struct syment_s *next;
}*syment;
谢谢

试试换衣服

typedef struct syment_s {
  char *s;
  int offset;
  var_type type;
  struct syment_s *next;
}*syment;


指针重载,这不是Crufts(指针是一只狗,Crufts是一场狗秀)。

双分号是一个打字错误吗<代码>malloc(sizeof(syment))是的,很抱歉!谢谢!并删除struct syment*addData=malloc(sizeof(syment))中的结构;成功了,谢谢!我被告知要使用赛门特,以便我以后可以使用赛门特。。。我猜那是错的!谢谢它说我必须等一分钟才能(这里是n00b)@wineprectzel-忘了提-保持指针的明确性-如果你知道你在处理指针,那么从长远来看可以节省很多麻烦。
typedef struct syment_s {
  char *s;
  int offset;
  var_type type;
  struct syment_s *next;
} syment;