1、访问结构体成员
例:
structstudent
{
charname[12];
charsex;
structdatebirthday;
floatsc[4];
}std,arr[5],*ps;
ps=std;
ps-sex;
arr[2].sc[3]
注:访问结构体成员有两种情况
1)如果对象是普通结构体变量,则应该写为变量.成员
2)如果对象是指向结构体的指针,则应该写为指针-成员
2、结构体的应用
例:某学生档案定义如下:
学号sno[5]
姓名sname(10)
三门成绩score(3)
从键盘上输入5个学生的档案,分别输出每个学生的平均分(保留2位小数)和总分最高的学生姓名。
#includestdio.h
structstudent
{
charsno[5],sname[10];
intscore[3];
}s[5];
intsum[5];
voidinPutdata()
{
inti;
for(i=0;i5;i++)
{
printf(请输入第%d个学生的学号:\n,i+1);
scanf(%s,s[i].sno);
printf(请输入第%d个学生的姓名:\n,i+1);
scanf(%s,s[i].sname);
printf(请输入第%d个学生的三门成绩:\n,i+1);
scanf(%d%d%d,s[i].score[0],s[i].score[1],s[i].score[2]);
}
}
voidoutPut_average()
{
inti,j,t;
for(i=0;i5;i++)
{
t=0;
for(j=0;j=2;j++)
t=t+s[i].score[j];
sum[i]=t;
printf(第%d个学生的平均分%.2f\n,i+1,t/3.0);
}
}
voidoutPut_name()
{
inti,max,index=0;
max=sum[0];
for(i=1;i5;i++)
if(sum[i]max)
{
max=sum[i];
index=i;
}
printf(总分最高的学生是%s\n,s[index].sname);
}
main()
{
inPutdata();
outPut_average();
outPut_name();
}
C语言程序