预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共14页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

C语言结构体定义C语言结构体定义C语言中的“结构体”其实就相当于其他高级语言中的“记录”,结构体的定义方法如下:例如:Structstudent{intnum;charname[20];charsex;intage;floatscore;charaddr[30];};(注意最后的分号不能省略)。其中第一行的`“student”是该结构体的名称,花括号里面的内容是结构体的成员名,这是声明结构体的一般形式。也可以在声明结构体的同时对它进行初始化,例如:structstu{intnum;char*name;charsex;floatscore;}pupil[5]={{101,"Tom",'M',45.8},{102,"Mike",'M',62.5},{103,"Chris",'F',92.5},{104,"Rose",'F',87.6},{105,"Nate",'M',58.8}};该代码中的“pupil[5]”称为结构体数组,它属于结构体变量,在定义该变量的同时对它进行了初始化操作。我们也可以先声明结构体,然后再对它进行初始化操作。例如:#includeintmain(){structstudent{charname[8];intage;charsex[4];chardepart[20];floatgrade1,grade2,grade3;}a;floatwage;charc='Y';if(c=='Y'||c=='y'){printf("\nName:");scanf("%s",a.name);printf("Age:");scanf("%d",&a.age);printf("Sex:");scanf("%s",a.sex);printf("Dept:");scanf("%s",a.depart);printf("Grade1:");scanf("%f",&a.grade1);printf("Grade2:");scanf("%f",&a.grade2);printf("Grade3:");scanf("%f",&a.grade3);wage=a.grade1+a.grade2+a.grade3;printf("Thesumofwageis%6.2f\n",wage);}return0;}该程序中定义了一个名为“student”的结构体,变量名为“a”,然后再后面“if”包含的符合语句中对该结构体进行初始化。在此,我们可以看出,对结构体的初始化,只能对它里面的每个成员分别初始化。#includestructstu{intnum;char*name;charsex;floatscore;}pupil[5]={{101,"Tom",'M',45.8},{102,"Mike",'M',62.5},{103,"Chris",'F',92.5},{104,"Rose",'F',87.6},{105,"Nate",'M',58.8}};voidavg(structstu*ps){intc=0,i;floatave,s=0;for(i=0;i<5;i++,ps++){s+=ps->score;if(ps->score<60)c+=1;}printf("s=%.3f\n",s);ave=s/5;printf("average=%.3f\ncount=%d\n",ave,c);}intmain(){structstu*ps;ps=pupil;avg(ps);return0;}此程序是关于结构体指针变量作函数参数,这样可以提高程序的运行效率,程序中我们定义了一个“stu”的