class[20]是班级名称,data[20]不是成绩,可能是学号子类的东西,虽然在文件存储,但是本代码块不需要,所以只是读取时使用了一下,后续代码没有用它
a[i].class[0]=0是将字符串第一个字符就设置为字符串结束符。不能用a[i].class[20]=0,这表示将第21个字符设置为结束符,越界访问了。0是字符串结束标志
num代表a数组元素数量,一开始确实为0,这时候相当于直接把文件读入的信息记录到a数组,如果读到同一个班级名称,那么累加成绩,否则将新班级及第一个人的成绩加入a数组。a[num++]会使得num增加的