欢迎来到天天文库
浏览记录
ID:20622991
大小:618.50 KB
页数:42页
时间:2018-10-14
《c语言结构体链表精品课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第12章自定义数据类型C程序设计快速进阶大学教程C程序设计快速进阶大学教程2021/9/202第12章自定义数据类型本章要点结构体链表C程序设计快速进阶大学教程2021/9/20312自定义数据类型知识点结构体链表枚举类型C程序设计快速进阶大学教程2021/9/20412自定义数据类型自定义数据类型包括:数组(前面讨论过)结构体共用体(本书不讨论)枚举C程序设计快速进阶大学教程2021/9/20512.1结构体结构体是一种构造类型,它是由若干成员组成的。每一个成员可以是一个基本数据类型或者又是一个构造类型。学生:由姓名、性别、成绩等组成,为一个有机整体C程序设计快速进阶
2、大学教程2021/9/20612.1.1结构体声明声明结构体类型的一般形式为:struct结构名{成员表列};structStudent{intiNum;charcArrName[20];charcSex;floatfScore;};结构体声明并不分配空间,结构体类型声明是在说明一种数据类型,并非变量定义。C程序设计快速进阶大学教程2021/9/20712.1.2结构体变量定义1.先声明结构体,再定义结构体变量。structstudent{intiNum;charcArrName[20];charcSex;floatfScore;};structstudentstrSt
3、u1,strStu2;定义结构体变量有以下三种方法:C程序设计快速进阶大学教程2021/9/20812.1.2结构体变量定义2.在声明结构体类型的同时定义结构体变量。structstudent{intiNum;charcArrName[20];charcSex;floatfScore;}strStu1,strStu2;定义结构体变量有以下三种方法:C程序设计快速进阶大学教程2021/9/20912.1.2结构体变量定义3.直接定义结构体变量。struct{intiNum;charcArrName[20];charcSex;floatfScore;}strStu1,str
4、Stu2;定义结构体变量有以下三种方法:第三种方法与第二种方法的区别在于第三种方法中省去了结构体名,而直接给出结构体变量。这种类型结构体只能用此一次,以后无法再定义该结构体类型变量,即使再声明成员完全相同的结构体类型,也和此次定义的结构体类型属于不同的结构体类型。C程序设计快速进阶大学教程2021/9/201012.1.2结构体变量定义结构体变量在内存空间的存储是连续的,结构体类型占用空间的大小计算方法为各成员占用空间大小之和iNum:4字节、cArrName[20]:20字节、cSex:1字节、fScore:4字节各编译系统为内存管理方便可能分配的空间大一些。(siz
5、eof(structstudent)??)C程序设计快速进阶大学教程2021/9/201112.1.3结构体变量引用1.结构变量初始化和其他类型变量一样,对结构变量可以在定义时进行初始化赋值。structstudent{intiNum;charcArrName[20];charcSex;floatfScore;}strStu2,strStu1={102,"Zhangping",'M',78.5};strStu1、strStu2均被定义为结构变量,并对strStu1作了初始化赋值。C程序设计快速进阶大学教程2021/9/201212.1.3结构体变量引用2.结构体成员引用
6、引用结构变量成员的一般形式是:结构体变量名.成员名.为成员运算符,优先级最高,结合性为自左向右。例如:strStu1.iNum第一个学生的学号strStu2.cSex第二个学生的性别如果成员本身又是一个结构体则必须逐级找到最低级的成员才能使用。例如:strStu1.strBirthday.iMonth第一个学生出生的月份成员可以在程序中单独使用,与普通变量完全相同。C程序设计快速进阶大学教程2021/9/201312.1.3结构体变量引用3.结构体变量赋值结构变量之间可以像普通变量一样相互赋值。strStu2=strStu1;会把strStu1内存空间的全部内容复制st
7、rStu2对应的空间中。不能对结构体变量整体进行输入、输出、运算。scanf("",&strStu);strStu2+strStu1;strStu2#include
此文档下载收益归作者所有