- 1、本文档共41页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
上节回顾;第五章 复杂构造数据类型;学生;学号;; 结构体是由一些逻辑相关, 但数据类型不同的分量组成的一组数据。;3、定义结构体变量的方法;(2). 定义结构体类型同时定义变量
struct student
{ char name[10] ;
int age ;
float s1 , s2 ;
} st1 , st2 ;;(2) 结构体类型可以嵌套定义
例: struct date
{ int year ;
int month ;
int day ;
} ;
struct stud
{ char name[10] ;
struct date birthday ;
float s1 , s2 ;
} ;;4、 结构体变量的引用;struct date
{ int year ;
int month ;
int day ;
} ;
struct stud
{ char name[10] ;
int age ;
struct date birthday;
float s1 , s2 ;
} ;;(2).结构体变量使用说明:
①相同类型的结构体变量可以进行整体赋值 ;② C语言不允许结构体变量整体进行输入和输出,
只能对结构体变量的成员进行输入和输出;③ 可以定义与结构体成员同名的变量,他们之间不会发生混乱。;5、 结构体变量的初始化;;1、 结构体数组的定义
(1). 先定义结构体类型
再定义结构体数组
struct student
{ char name[10] ;
int age ;
float s1 , s2 ;
} ;
struct student st[6] ;; 2、结构体数组的初始化
将每个数组元素的数据用花括号{ } 括起来;(2). 数组元素之间可以整体赋值
也可以将一个元素赋给一个相同类型的结构体变量
struct student x , st[3]={ {“Mary”,21,78,86}, {“Alex”, …} } ;
st[2] = st[0] ;
x = st[1] ; ;例5.1: 定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年问题。;例5.2: 按成绩对学生信息进行从高到底的排序;5.1.4 结构体与指针;一、指向结构体变量的指针; 为了使用方便和直观,可以用指向运算符p-num来代替(*p).num
(指向运算符优先级也是最高的)
因此有三种引用结构体成员的方法:
1、结构体变量. 成员名
2、(*p). 成员名
3、p-成员名;2、指向结构体数组的指针;3、用结构体变量和其指针作函数参数;C、用结构体变量的成员分别作参数,用法和普通变量作实参是一样的,属于“值传递”。此时应当注意形参与实参的类型、顺序、个数等要保持一致。此种用法不多见。;5.2 共用体;二.共用体的定义;例2:
union data
{ int i;
char ch;
float f;
};
union data aa,bb;; 共用体变量所占内存的长度等于最长的成员的长度。而不是各成员的长度之和,这一点不同于结构体。
例如前面的例子data类型的变量aa,占据的内存空间为4个字节,而不是2+1+4=7个字节。;三.共用体变量的引用;四.共用体类型数据的特点;(5)共用体变量不能作为函数的参数,也不能作为函数返回值。但可以使用指向共用体变量的指针。;例 :设有若干个人员的数据,其中有学生和教师。
学生的数据包括:姓名、号码、性别、职业、班级。
教师的数据包括:姓名、号码、性别、职业、职务。
现要求把他们放在同一表格中,见图。;数据类型定义:
整体是一个结构体类型;其中第5项可以用共用体来处理。;5.3 枚举类型;例1:
enum weekday{sun,mon,tue,wd,thu,fri,sat };
enum weekday day;;说明:
(1)、C语言中枚举元素按常量处理,它们是有值的。它们的值是系统按其定义顺序自动赋予的 0、1、2、3、4、……。
您可能关注的文档
- 第二篇化工容器的设计.ppt
- 第二节中国历史常识.ppt
- 第二章马克思主义中国化精髓.ppt
- 第二节光吸收基本定律.ppt
- 第二节信息技术及其的影响.ppt
- 第二节宏观的环境因素剖析.ppt
- 第二节欧洲大陆封建专制制度.ppt
- 第二节课婴幼儿营养二)脂肪三)碳水化合物.ppt
- 第二节词分类.ppt
- 第二节词类1名动形.ppt
- 4.1 陆地水体及其关系 课件高二上学期地理中图版(2019)选择性必修一.pptx
- 混凝土结构与砌体结构设计习题集 .pdf
- 统编版语文四年级下册 22.古诗三首 课件(共50张PPT).pptx
- 青海2024行测笔试真题及答案 .pdf
- 2.1 充分发挥市场在资源配置中的决定性作用 课件-高中政治统编版必修二经济与社会.pptx
- 27.巨人的花园 课件(共58张PPT).pptx
- 统编版语文一年级下册5 树和喜鹊 第1课时 课件(共37张PPT).pptx
- 2.1 充分发挥市场在资源配置中的决定性作用 课件政治一轮复习统编版必修二经济与社会.pptx
- 贵港市平南县2024届小升初考试语文试卷含答案 .pdf
- 小学期末考试质量分析 .pdf
文档评论(0)