欢迎来到天天文库
浏览记录
ID:50044568
大小:280.00 KB
页数:68页
时间:2020-03-08
《C语言程序设计教程 教学课件 作者 陈宝贤 第12章结构体与共用体.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、教学内容:12.1概述12.2结构类型与结构变量的定义12.3结构体变量的初始化和引用12.4结构体数组12.5结构体指针12.6结构体指针与链表12.7共用体12.8枚举类型12.9typedef类型定义第12章结构体与共用体教学要求:1.掌握结构体类型和结构体变量的定义方法。2.掌握结构体变量的使用,掌握结构体数组的应用。3.初步掌握单链表的基本操作。4.掌握共用体变量的定义方法及其引用。第12章结构体与共用体一辆银灰色的车牌号为湘A00001的雪弗兰轿车以80km/h的速度行驶。在这里由车牌、车名、型号、车速共同构成了对一辆轿车的描述
2、,在数据处理中,这四个属性应该当作一个整体来处理。但它们不属于同一类型,无法用数组来容纳,而用单个变量来分别代表各个属性,又难以反映出它们的内在联系。C语言提供结构体(structure)数据结构,将不同数据类型、但相互关联的一组数据,组合成一个有机整体使用。12.1概述1.结构类型定义定义形式:strcut结构类型名{数据类型成员1;数据类型成员2;…………;数据类型成员n;};/*些行的分号不能少*/也可以表述成如下形式:struct结构体名{分量表};12.2结构类型与结构变量的定义(1)struct是结构类型关键字(2)“结构体名”
3、和“数据项名”的命名规则,与变量名相同。(3)1个数据项称为结构类型的1个成员(或分量)。2.结构体类型特点(1)定义一个结构体类型,系统不会为其分配内存单元。定义一个类型只是表示这个类型的结构,即告诉系统它由哪些类型的成员构成,各占多少个字节,各按什么形式存储,并把它们当作一个整体来处理。(2)结构体类型由多个成员组成,成员的数据类型可以是整型、实型、字符型、数组,也允许是另一个已经定义的结构体类型。(3)结构体类型是根据设计者的需要来组合的。(4)结构体类型系统没有预先定义,凡需要使用结构体类型数据的,都必须在程序中自己定义。struc
4、tstudent{intnum;charname[20];charsex;intage;floatscore;charaddr[30];};例如:定义学生档案信息结构类型:成员表列struct是类型关键字后分号不能少,表明语句结束。结构体名又例如,定义一个日期结构类型:structdate{intyear;intmonth;intday;};数据类型相同的数据项,既可逐个、逐行分别定义,也可合并成一行定义。写为如下形式:structdate{intyear,month,day;};3.结构体成员的类型可以是结构体类型在定义一个结构体类型时,
5、可以利用已定义的另一个结构体类型来定义其成员的类型。例12.1嵌套结构体类型定义的例子。structdatestructstudent{intmonth;{intnum;intday;charname[20]intyear;charsex,};intage;structdatebirthday;charaddr[30];};numnamesexagebirthdaymonthdayyearaddr结构类型student的“birthday”数据项可以是一个已经定义的结构类型date4.声明结构体类型变量(1)先定义结构体类型再定义变量名。定
6、义了结构体类型structstudent后,structstudent{charno[7];charname[9];charsex[3];structdatebirthday;};可以用它定义变量。如:structstudentst1,st2;不能写成structst1,st2;为了方便起见,可以在程序开头定义符号常量进行简化。如:#defineSTUDENTstructstudent则在程序中可以直接写成:STUDENT{charno[7];charname[9];charsex[3];structdatebirthday;};STUDE
7、NTst1,st2;(2)在定义类型的同时定义变量。则一般定义形式为:struct结构体名{分量表;}变量表;如:structstudent{charno[7];charname[9];charsex[3];structdatebirthday;}st1,st2;(3)直接定义结构类型变量定义形式为:struct{分量表;}变量表;在struct后不出现结构体名,因此也不能再以此定义相同的结构体变量。如:struct{charno[7];charname[9];charsex[3];structdatebirthday;}st1,st2;
8、1.结构变量的引用对于结构变量,要通过成员运算符“.”,逐个访问其成员,访问的格式为:结构变量名.成员例如,structstudentst1,st2;st1.no,引用结构变量s
此文档下载收益归作者所有