欢迎来到天天文库
浏览记录
ID:50352081
大小:1.96 MB
页数:74页
时间:2020-03-08
《C语言程序设计与数据结构教学课件刘信杰C语言程序设计与数据结构 课件第09章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第九章结构体与共用体C语言程序设计与数据结构总体要求:掌握结构体的概念;掌握结构体成员的引用;学会使用typedef声明数据类型的别名。C语言程序设计与数据结构学习重点:结构体的概念;结构体成员的引用。C语言程序设计与数据结构结构体概念的引入(为什么需要结构体?)C语言程序设计与数据结构已经学习过的数据类型:整形、实型、字符型,另外还有数组。问题:以上数据类型和数组是否完全满足编程需要?(例如:如何定义一个工人变量?)C语言程序设计与数据结构工人包含有多个属性,比如姓名、性别、年龄、工号、工资等等,我们无法简单的用某一种数据类型或者数组来实现。C语
2、言程序设计与数据结构解决方法:C语言中引入了一种新的数据结构,称为“结构体”。它可以把若干个有内在联系的数据组合在一起,形成一个有机整体。C语言程序设计与数据结构通过结构体,我们就可以方便的来描述工人,它由若干数据项组成,包括:姓名(name):字符串性别(sex):字符型年龄(age):整型工号(number):整型工资(salary):实型C语言程序设计与数据结构上述五个数据项组成了工人的整体,这就是一个结构体类型的数据,我们可以给这个数据命名为worker,只要是worker类型的数据,都包括这五个数据项。C语言程序设计与数据结构9.1结构体
3、类型的说明C语言程序设计与数据结构结构体类型是包含若干个相同或不同数据类型数据项的集合,我们把这些数据项称之为结构体成员,声明结构体类型的一般形式为:struct结构体标识名{数据类型名1结构体成员名表1;数据类型名2结构体成员名表2;.....数据类型名n结构体成员名表n;};C语言程序设计与数据结构说明:(1)句首struct是关键字,是声明结构体类型的标识符。“结构体标识名”定义的是结构体的名字,它是可选项,可以不出现;“结构体成员名表”由多个成员名组成,彼此之间用分号隔开,两者都要符合标识符的命名规则。(2)结构体中定义的所有成员都用大括号
4、括起来,成员名可以与程序中其他变量相同。(3)结构体中的“数据类型名”可以是基本类型,也可以是构造类型(如数组),还可以是已经定义的其他结构体类型。(4)结构体类型的定义只是创建了一种模式,表示该结构体的组成情况。结构体定义结束后,系统并没有为该结构体分配相应的空间;只有在我们使用这种结构体进行定义变量后,系统才为结构体变量分配存储空间。C语言程序设计与数据结构上述工人(worker)结构体类型可以声明为:structworker{charname[20];charsex;intage,number;floatsalary;};C语言程序设计与数据
5、结构9.2结构体变量C语言程序设计与数据结构9.1.2结构体变量定义、初始化及引用1.结构体变量的定义结构体变量的定义通常有以下几种方法:C语言程序设计与数据结构(1)首先说明某种结构体类型,然后紧跟在结构体类型说明之后定义变量。定义的一般形式如下:struct[结构体名]{数据类型名1结构体成员名表1;数据类型名2结构体成员名表2;┇┇数据类型名n结构体成员名表n;}变量名表;C语言程序设计与数据结构例如,我们想定义上述“worker”结构体类型的变量,可以这样写:structworker{charname[20];charsex;intage,
6、number;floatsalary;}worker1;C语言程序设计与数据结构从上面我们可以得知,在声明worker结构体类型的同时,我们定义了结构体变量worker1。每一个结构体变量在定义之后都会分配一块连续的内存空间。变量worker1存放的是一组数据,具体来说就是一个工人的信息,各个成员按照在结构体声明中的顺序依次在内存中进行排放。C语言程序设计与数据结构(2)在说明某一个结构体类型的同时,不给该结构体类型命名,而直接进行变量定义。C语言程序设计与数据结构例如,我们想定义上述“worker”结构体类型的变量,可以把worker省略,写成:
7、struct{charname[20];charsex;intage,number;floatsalary;}worker1;C语言程序设计与数据结构这一种定义方式和上一种类似,只是省略了结构体标识名。如果只定义一次这种结构体类型的变量,可以使用这种方式。C语言程序设计与数据结构(3)先声明某种结构体类型,再定义这种结构体类型的变量。C语言程序设计与数据结构例如,先对worker结构体进行声明,structworker{charname[20];charsex;intage,number;floatsalary;};然后定义worker结构体类型的
8、变量:structworkerworker1;C语言程序设计与数据结构使用这种方式定义变量应该注意:struct和work
此文档下载收益归作者所有