




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第十章结构体与共用体10.1概述 为了将不同类型的数据组合成一个有机的整体,以便引用。C语言提供了一种数据结构,叫结构体(structure)。 结构体类型声明的一般形式: struct结构体名 { 成员表列 };方法三、直接定义结构类型变量, struct { 成员表列 }变量名表列; 例如定义结构体类型变量的几点说明: 1.只能对结构体类型变量赋值、存取、运算等。而不能对结构体类型赋值、存取、运算等。例如 2.结构体变量中的成员如同普通变量一样,可以单独使用。例如 二、引用时注意事项:例10.1(p264) structstudent {longintnum; charname[20]; charsex; charaddr[20]; }a={89031,“LiLin”,‘M’,“123BeijingRood”}; voidmain() { printf(“No.:%ld\nname:%s\nsex:%c\naddress:%s\n”, a.num,a.name,a.sex,a.addr); }10.5结构体数组 所谓结构体数组,即构成数组的每一个元素都是一个结构体类型的数据。 一、结构体数组的定义 1.structstudent {intnum; charname[20]; charsex; intage; floatscore; charaddr[30]; }; structstudentstu[3];103BeijingRoad二、结构体数组的初始化 structstudent {intnum; charname[20]; charsex; intage; floatscore; charaddr[30]; }stu[3]={{10101,“LiLin”,‘M’,18,87.5,“103 BeijingRoad”},{10102,“ZhangFun”,‘M’, 19,95,“130ShanghaiRoad”},{10101, “WangMin”,‘F’,20,78,“1010Zhongshan Road”} };例10.2(p266) structperson {charname[20]; intcount; }leader[3]={“Li”,0,“Zhang”,0,“Fun”,0}; main() {inti,j; charleader_name[20]; for(i=0;i<=10;i++) {scanf(“%s”,leader_name); for(j=0;j<3;j++) if(strcmp(leader_name,leader[j].name)==0) leader[j].count++;} printf(“%\n”); for(i=0;i<3;i++) printf(“%5s:%d\n”,leader[i].name,leaer[i].count); } 运行结果:Li:4 Zhang:3 Fun:310.6指向结构体类型数据的指针 一、指向结构体变量的指针 结构体变量的指针就是结构体变量所占内存段的起始地址。存放该地址的变量叫指向结构体变量的指针变量,简称指向结构体变量的指针。 比如: structstudent*p;例10.3(p268) main() { structstudent {longintnum; charname[20]; charsex; floatscore; }; structstudentstu_1; structstudent*p; p=&stu_1; stu_1.num=89101; strcpy(stu_1.name,“LiLin”); stu_1.sex=‘M’; stu_1.score=89.5;printf(“No.:%ld\nname:%s\nsex:%c\nscore:%f\n”,stu_1.num,stu_1.name,stu_1.sex,stu_1.score); printf(“\nNo.:%ld\nname:%s\nsex:%c\nscore:%f\n”,(*p).num,(*p).name,(*p).sex,(*p).score); } 运行结果: No.:89101No.:89101 name:LiLinname:LiLin sex:Msex:M score:89.500000score:89.500000说明: 1.程序中(*p)表示p指向的结构体变量。(*p).num表示p指向的结构体变量中的成员num。第一个printf是直接访问,第二个printf是间接访问。 2.(*p).num等效于p–>num –>表示指向结构体成员运算符。 3.结构体变量中成员的引用有三种形式: (1)结构体变量.成员名; (2)(*p).成员名; (3)p–>成员名;

王子****青蛙
实名认证
内容提供者


最近下载
最新上传
浙江省宁波市2024-2025学年高三下学期4月高考模拟考试语文试题及参考答案.docx
汤成难《漂浮于万有引力中的房屋》阅读答案.docx
四川省达州市普通高中2025届第二次诊断性检测语文试卷及参考答案.docx
山西省吕梁市2025年高三下学期第二次模拟考试语文试题及参考答案.docx
山西省部分学校2024-2025学年高二下学期3月月考语文试题及参考答案.docx
山西省2025年届高考考前适应性测试(冲刺卷)语文试卷及参考答案.docx
全国各地市语文中考真题名著阅读分类汇编.docx
七年级历史下册易混易错84条.docx
湖北省2024-2025学年高一下学期4月期中联考语文试题及参考答案.docx
黑龙江省大庆市2025届高三第三次教学质量检测语文试卷及参考答案.docx