Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
&;和*运算符使我的fread()在C中成功_C_File_Linked List_Fread - Fatal编程技术网

&;和*运算符使我的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