[计算机软件及应用]第7章结构体与共用体
结构体 1.提问与复习 学过几种数据类型? 分别是哪些? 分别如何操作(定义、初始化、引用、输入输出)? 考虑一个学生的信息 如:成绩通知单上的某学生信息 定义一个学生的信息: 姓名(char name[10]), 英语成绩(int enlish), 数学成绩(int math) 求该同学的平均成绩,从键盘输入,并输出结果。 用结构体类型定义学生信息类型 struct student { char name[10]; int english; int math; }; “结构体”是一种构造类型,是由数目固定,类型相同或不同的若干有序变量组成的集合。组成结构体的每个数据都称为结构体的“成员”,或称“分量”。 声明一个结构体类型的一般形式为: struct 结构体名(也称为结构体标记) { 成员表列(也称为域表) }; 应注意在括号后的分号是不可少的。成员表列由若干个成员组成,每个成员都是该结构体的一个组成部分。对每个成员也必须作类型说明,其形式为: 类型说明符 成员名; 成员名的命名应符合C语言标识符的书写规定,结构体成员名可与程序中其它变量同名,互不干扰。 对于已经声明的结构体类型,就可有对应于该类型的“结构类型变量”,简称为“结构变量”。定义结构变量有以下三种方法: (1)先声明结构体类型,再定义结构变量 即在先前声明的结构体类型后加上以下形式: struct 结构体名 结构变量表列; (2)在声明结构体类型的同时定义结构变量 即被定义的结构变量直接在结构体类型声明的“}”后给出。一般形式为: struct 结构体名 { 〈成员表列〉 }〈结构变量表列; (3)直接定义结构变量 即省略结构体名。一般形式为: struct { 成员表列 }结构变量表列; 结构体类型与结构变量的最大区别在于:结构变量占有一定的内存空间,而结构体类型只是一种数据类型的结构描述,并不占用内存空间。 struct box { float length; float width; float height; }; 它表明struct box结构体类型由大括号中所列的一些数据项组成。 在此之后,若进行结构变量的定义如: struct box box1; 表明box1为struct box结构体类型变量。 结构体变量的初始化 对于已定义的结构体类型student struct student stu={“zhangsan”,89,97}; 7.1.2 结构成员的引用 对结构变量的访问是通过对结构变量各个成员的访问来进行的,结构变量成员描述为:结构变量名.成员名 struct student stu; //输入 gets(stu.name); scanf(“%d”,stu.english); scanf (“%d”,stu.math); //输出 puts(stu.name); printf(“%d”,stu.english); printf(“%d”,stu.math); 在引用中应遵循以下原则: (1)如果成员本身又是一个结构体类型时,则必须逐级找到最低一级的成员才能使用。 (2)对成员变量的使用与普通变量完全相同,可根据其类型进行相应的运算。 (3)可以引用成员的地址,也可以引用结构体变量的地址。 (4)允许将一个结构变量直接赋值给另一个具有相同结构的结构变量。 试一试 1.用结构体变量作为参数,编写函数 void output (struct student s) 完成数据输出。 2.用结构体变量作为参数,编写函数 double average(struct student s) 求该学生的平均分。主函数中输入两个学生的成绩,按平均分从高到低的顺序输出他们的信息。 定义指向结构体变量的指针 struct student *pstu,stu; pstu=stu; //输入 gets((*pstu).name); scanf(“%d”,((*pstu).english) ); scanf (“%d”,((*pstu).math)); //输出 puts ((*pstu).name); printf(“%d”,(*pstu).english); printf(“%d”,(*pstu).math); //输入 gets(pstu-name); scanf(“%d”,(pstu-english) ); sca
您可能关注的文档
最近下载
- 2025年广西执法考试题及答案.doc VIP
- 2025年春新课程能力培养七年级数学下册人教版答案.pdf VIP
- 《常见淡水鱼病的诊断及防治》课件.ppt
- 《中国结课件》课件.ppt VIP
- 《药品营销心理学》课程标准.docx VIP
- 干股(虚拟股)分红协议书--最全最标准.doc VIP
- 港澳台华侨生入学考试物理试题真题及答案(2025年).docx VIP
- 2025年春基础训练九年级化学下册人教版答案.pdf VIP
- 2022年-2024年青岛卫健委事业编护理笔试真题.docx VIP
- 建筑工程图集 13SG903-1:混凝土结构常用施工详图(现浇混凝土板、非框架梁配筋构造).pdf VIP
原创力文档

文档评论(0)