c语言fread函数是直接读取文本所有内容吗

大一c语言freshman,求指教
前言:大一c语言课 设,写入是按格式写入的,代码跑起来也基本没什么问题
我的理解:在for循环内fread函数将文本内容按结构体格式一条条对应存放在结构体数组里面
我的问题:为什么fread函数能知道该输出第几个联系人信息到book[i],循环只是重复调用fread和改变数组成员,fread函数本质无任何变化,即数组的每一个成员最后通过fread得到的信息应该是相同的

img

img

可以搜索fread()函数的详细用法,有助于理解。

你可以参考下这篇文章:C 使用fread读取文件