例如:
#include <stdio.h>
#include <stdlib.h>
#define N 8
typedef struct
{
char num[10];
double s[N];
double ave;
} STREC;
int main(void)
{
STREC stu;
int i;
void fun();
FILE *fp;
if((fp=fopen("39test61.dat","r"))==NULL)//
{
printf("File open error!\n");
exit(0);
}
fscanf(fp, "%s",stu.num);
for(i=0; i<N; i++)
fscanf(fp, "%lf", &stu.s[i]);//
fclose(fp);
fun(&stu);//
printf("The %s's student data:\n", stu.num);
for(i=0;i<N;i++)
printf("%4.1f\n",stu.s[i]);
printf("\nave=%7.3f\n", stu.ave);
return(0);
}
void fun(STREC *p)//
{
int i;
p->ave=0.0;//
for(i=0;i<N;i++)
p->ave=p->ave+p->s[i];
p->ave=p->ave/N;
}
鏈表(Linked list)是壹種常見的基礎數據結構,是壹種線性表,是壹種物理存儲單元上非連續、非順序的存儲結構。鏈表由壹系列結點(鏈表中每壹個元素稱為結點)組成,結點可以在運行時動態生成。每個結點包括存儲數據元素的數據域和存儲下壹個結點地址的指針域兩個部分。 相比於線性表順序結構,操作復雜。數據元素的邏輯順序也是通過鏈表中的指針鏈接次序實現的。