#include
/*定义结构体*/
struct student
{
int num;
char name[20];
char sex;
int age;
float score;
};
/*初始化一个结构体实例*/
struct student stu[3]={
{11302,"Wang",'F',20,486.69},
{11303,"Zhao",'F',25,466.59},
{11304,"Xue",'M',18,483.59}
};
/*输出函数,结构体变量s做为函数参数*/
void print(struct student s)
{
printf("%s,%d,%f\n",s.name,s.age,s.score);
}
/*增加成绩的函数,结构体指针q作为函数参数*/
void add(struct student *q)
{
if(q->age<=19)
q->score=q->score+10;
}
main()
{
struct student *p;
int i;
for(i=0;i<3;i++)
{
print(stu[i]);//stu[i]作为形参
}
for(i=0,p=stu;i<3;i++,p++)
{
add(p);//指向stu的指针变量p作为形参
}
printf("\n");
for(i=0,p=stu;i<3;i++,p++)
{
print(*p);//*p作为形参,相当于stu[i]
}
}