&;和*运算符使我的fread()在C中成功
好的,当我使用这段代码时&;和*运算符使我的fread()在C中成功,c,file,linked-list,fread,C,File,Linked List,Fread,好的,当我使用这段代码时 fread(&(*list) -> books, sizeof(struct NOVEL), 1, fpread); 一切正常 然而,当我使用这个 fread (list -> books, sizeof(struct NOVEL), 1, fpread); 我得到了这个错误:成员引用基类型'LISTNODEPTR'(又名'struct listnode*')不是结构或联合 我想是这样的,然后互相抵消,为什么会这样? 提前谢谢 *list 是
fread(&(*list) -> books, sizeof(struct NOVEL), 1, fpread);
一切正常
然而,当我使用这个
fread (list -> books, sizeof(struct NOVEL), 1, fpread);
我得到了这个错误:成员引用基类型'LISTNODEPTR'(又名'struct listnode*')不是结构或联合
我想是这样的,然后互相抵消,为什么会这样?
提前谢谢
*list
是一个结构指针
list
是指向结构指针的指针
因此,要访问books字段,您需要:(*列表)->books
您需要明确您的优先顺序:
与
&((*list) -> books)
list -> books
这与
&((*list) -> books)
list -> books
是一个结构指针
list
是指向结构指针的指针
因此,要访问books字段,您需要:(*列表)->books
您需要明确您的优先顺序:
与
&((*list) -> books)
list -> books
这与
&((*list) -> books)
list -> books