- 1
- 0
- 约2.08万字
- 约 79页
- 2017-11-12 发布于广东
- 举报
第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
您可能关注的文档
- 人机界面设计课件作者周苏第4讲软件人机界面设计.ppt
- 人机界面设计课件作者周苏第5讲网页界面设计与Visio工具.ppt
- 人机界面设计课件作者周苏第7讲人机界面设计的测试与评价.ppt
- 人机界面设计课件作者周苏第8讲多通道用户界面及交互技术.ppt
- AutoCAD机械制图基础与实训课件作者李静项目一.ppt
- C#程序设计案例教程课件作者王明福源代码习题答案第5章节.ppt
- 人力资源管理第2版课件作者王宝石第七章节员工绩效考核与绩效管理.ppt
- 人力资源管理基础课件作者赵轶任务7员工绩效管理.ppt
- C#程序设计案例教程课件作者王明福源代码习题答案第10章节.ppt
- 人力资源管理基础课件作者赵轶任务8员工薪酬管理.ppt
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
原创力文档

文档评论(0)