第二讲--结构体.pptVIP

  • 6
  • 0
  • 约1.34万字
  • 约 45页
  • 2017-02-08 发布于河南
  • 举报
第二讲--结构体

程序设计基础B 张立红 zlh@sdut.edu.cn 2760092(8092)第二讲 结构体 主要内容 结构体定义和使用 8.1 结构体类型 结构体概念:一组相关变量的集合,而且这些变量的类型可以是互不相同的。 有的高级语言中称为记录。 例如 : 一个学生:学号、姓名、性别、年龄、成绩、地址等信息 -------------------一个结构体。 结构体属于构造类型。 前面所使用的数据类型,都是直接定义变量。 对于结构体类型,则必须先声明类型 , 再定义变量。 8.1.1 结构体类型的定义 格式: struct 结构体类型名 { 类型名 成员1; 类型名 成员2; …… }; 例如 : struct stud // stud为结构体类型名 ?? { int num;???? char name[20]; ???? char sex;???? int age; ???? float score;???? char addr[30]; ?? };??? // 此分号不能勿缺失 8.1.2 结构体类型变量的定义 格式1: struct 结构体类型名 结构体变量名; 例如: struct stud s1,s2; // struct 不可少 其中的s1、s2是结构体类型的变量。 注意:上述格式是先声明了结构体类型之后,才可以定义结构体类型变量。 格式2:在定义结构体类型的同时定义结构体变量。此时,结构体类型名可以缺省。 如 : struct stud // stud为结构体类型名 ?? { int num; ???? char name[20]; ???? char sex;???? int age; ???? float score;???? char addr[30]; ??? }s1,s2; //s1、s2是结构体类型的变量*/ 格式3:在定义结构体类型的同时定义结构体变量。此时,结构体类型名可以缺省。 struct // 结构体类型名缺省 ?? { int num; ???? char name[20]; ???? char sex; ???? int age; ???? float score;??? char addr[30]; ??? } s1,s2; // s1、s2是结构体类型的变量 注意:结构体类型的成员可以是另一个结构体类型。 例如: struct date // date为结构体类型名 ?? { int month,day,year;};??? struct stud // stud为结构体类型名 ? ?? { int num;????? char name[20]; ? ????? char sex;?????? int age; ???? ? struct date birth; // birth是结构体变量 ?????? float score; ?????? char addr[30]; ????? } s1,s2; //s1、s2是结构体类型的变量 8.1.3 结构体类型变量的引用 注意: 1)使用结构体类型的变量时,不能将结构体变量作为一个整体进行输入、输出。 2)只能对结构体变量的成员按其类型进行输入、输出。 8.1.3 结构体类型变量的引用 一、结构体变量成员的引用 格式:结构体变量名.成员名 例如: struct stud s1; 则: s1.score=95; 对结构体类型变量的成员可以像普通变量一样进行各种合适的运算。 例如:boy1.score = boy2.score; x= boy1.score + boy2.score; 8.1.3 结构体类型变量的引用 注意: 1)如果结构体成员本身又是一个结构体类型,必须逐级找到最低级的成员才能使用。 例如:boy1.birth.month,表示boy1的birth 成员的month成员。 2)“.”是成员运算符,它在所有运算符中优先级最高,可以把boy1.birth.month作为一个整体来看待。 二、结构体变量成员的操作 因为结构体的成员本质上也是变量(或数组) ,所以对结构体成员的操作与同普通变量(或数组)的操作相同。 例如:

文档评论(0)

1亿VIP精品文档

相关文档