求大神帮忙解释C语言程序设计题一小段中的每个语句

问题描述:

求大神帮忙解释C语言程序设计题一小段中的每个语句
double fun(STREC *h) {
double ave=0.0;
STREC *p=h->next;
while(p!=NULL) {ave=ave+p->s;
p=p->next;
}
return ave/N;
}

STREC 是一个链表,可以动态增长,ave 变量负责统计这个链表里面所有 s 的值的总和;
最后输出 s 的总和的平均值;