C语言程序设计课件作者任文孔庆彦电子教案(第7章节--第12章节)第10章节.pptVIP

  • 1
  • 0
  • 约2.08万字
  • 约 79页
  • 2017-11-12 发布于广东
  • 举报

C语言程序设计课件作者任文孔庆彦电子教案(第7章节--第12章节)第10章节.ppt

第10章 结构体、共用体与枚举类型 10.1结构体类型的定义(1) 实际的程序设计过程中,通常程序要处理的对象往往具有不同的数据类型。 例如,在学生登记表中,姓名应为字符型;学号可为整型或字符型;年龄应为整型;性别应为字符型;成绩可为整型或实型。 显然不能用一个数组来存放这一组数据。因为数组中各元素的类型和长度都必须一致,以便于编译系统处理。 为了解决这个问题,C语言中给出了另一种构造数据类型——“结构(structure)”或叫“结构体”。 它相当于其它高级语言中的记录。“结构”是一种构造类型,它是由若干“成员”组成的。每一个成员可以是一个基本数据类型或者又是一个构造类型。结构既然是一种“构造”而成的数据类型,那么在说明和使用之前必须先定义它,也就是构造它。 10.1结构体类型的定义(2) 定义一个结构体的一般形式为: struct 结构体名 {成员表列}; 其中,struct是定义结构体类型的关键字;结构体名是此结构体类型的名字,可利用此结构体来定义相应的结构体变量;成员表列由一系列的变量定义组成。其形式为: 类型说明符 成员名; 10.1结构体类型的定义(3) 成员名的命名应符合标识符的书写规定。 例如: struct stu { char name[16]; int num; char sex; float sc[2]; }; 在这个结构体定义中,结构体名为stu,该结构体由4个成员组成。第一个成员为name,字符数组;第二个成员为num,整型变量;第三个成员为sex,字符变量;第四个成员为sc[2],实型数组。应注意在括号后的分号是不可少的。结构体定义之后,即可进行变量说明。凡说明为结构体stu的变量都由上述4个成员组成。 10.2 结构体类型变量 10.2.1 结构体类型变量的定义 10.2.2 结构体变量的使用 10.2.3 结构体变量的初始化 10.2.4 结构体变量的输入和输出 10.2.1 结构体类型变量的定义(1) 结构体类型变量的定义有以下几种方法。 1、先定义结构体类型,然后再定义结构体变量。 如: struct student { char name[16]; int num; char sex; float sc[2]; }; struct student stu1,stu2; 说明了两个变量stu1和stu2为stu结构体类型。 10.2.1 结构体类型变量的定义(2) 2、在定义结构体类型的同时定义结构体变量。 这种形式的说明的一般形式为: struct 结构体名 {成员表列 }变量名表列; 例如: struct student {char name[16]; int num; char sex; float sc[2]; }stu1, stu2; 10.2.1 结构体类型变量的定义(3) 3、直接定义结构体变量。 这种形式的说明的一般形式为: struct {成员表列 }变量名表列; 例如: struct { char name[16]; int num; char sex; float sc[2]; }stu1,stu2; 10.2.1 结构体类型变量的定义(4) 第三种方法与第二种方法的区别在于第三种方法中省去了结构体名,而直接给出结构体变量。 三种方法中说明的stu1,stu2变量都具有下图10-1所示的结构体。 10.2.1 结构体类型变量的定义(5) 说明了stu1, stu2变量为stu类型后,即可向这两个变量中的各个成员赋值。在上述stu结构体定义中,所有的成员都是基本数据类型或数组类型。 结构体类型说明中,不仅可以是简单类型,也可以是构造类型,当然也可以是某种结构体类型。 10.2.1 结构体类型变量的定义(6) 当结构体说明中又包含结构体时称为结构体的嵌套。 例如,下图10-2给出了另一个数据结构。 10.2.1 结构体类型变量的定义(7) struct date { int month; int day; int ye

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档