16用户自己建立数据类型_第1页
16用户自己建立数据类型_第2页
16用户自己建立数据类型_第3页
16用户自己建立数据类型_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、教学内容:用户自己建立数据类型 教学目标 1理解结构体类型的作用 2掌握结构体类型的定义;掌握结构体变量的定义、引用及结构体数组的使用 3了解链表的概念;掌握链表的创建和输出 4了解共用体类型的作用的使用方式 5了解枚举类型的使用;了解 typedef 的使用 重点难点 1结构体数组 2用指针处理链表 教学方法与手段 1讲授、实验法 2多媒体 教学内容及教学过程 定义和使用结构体变量 1、自己建立结构体类型 用户自己建立由不同类型数据组成的组合型的数据结构,它称为结构体 struct Student int num; char name20; char sex; int age; float

2、score; char addr30; ; 声明一个结构体类型的一般形式为: struct 结构体名 成员表列 ; 2、定义结构体类型变量 (1) 先声明结构体类型,再定义该类型变量 (2) 在声明类型的同时定义变量 (3) 不指定类型名而直接定义结构体类型变量 3、结构体变量的初始化和引用 结构体数组 1、定义结构体数组 struct Person char name20; int count; leader3= “Li ” ,0,“Zhang ,0,“Sun ,0; 2、结构体数组应用举例 有n个学生的信息(包括学号、姓名、成绩),要求按照成绩的高低顺序输出 各学生的信息。 三结构体指针

3、1、指向结构体变量的指针 指向结构体对象的指针变量既可以指向结构体变量, 也可以用来指向结构体 数组中的元素。 struct Stude nt *pt; 2、指向结构体数组的指针 四用指针处理链表 1、链表的概念 链表是一种常见的重要的数据结构 它是动态地进行存储分配的一种结构 链表必须利用指针变量才能实现 2、建立简单的静态链表 head a结点 b结点 c结点 num * XOIOX r* XO1O3 r XO1O7 score 89.5 dO 85 next 1 NULL #include struct Student int num; float score; struct Stude

4、nt *next; ; 3、建立动态链表 建立动态链表是指在程序执行过程中从无到有地建立起一个链表,即一 个一个地开辟结点和输入各结点数据,并建立起前后相链的关系。 #include #include #define LEN sizeof(struct Student) struct Student long num; float score; struct Student *next; ; int n; struct Student *creat(void) struct Student *head,*p1,*p2; n=0; p1=p2=( struct Student*) malloc(

5、LEN); scanf( “ %ld,%f”, head=NULL; while(p1-num!=0) n=n+1; if(n=1) head=p1; else p2-next=p1; p2=p1; p1=(struct Student*)malloc(LEN); scanf( “ %ld,%f ”, p2-next=NULL; return(head); int main() struct Student *pt; pt=creat(); printf( n” pt-num,pt-score); return 0; 4、输出链表 void print(struct Student *p) p

6、rintf(nThese %d records are:n,n); if(p!=NULL) do printf(%ld %5.1fn, p-num,p-score); p=p-next; while(p!=NULL); 五共用体类型 使几个不同的变量共享同一段内存的结构,称为 “共用体 ”类型的结构。 union 变量表列; 例如: union Data int i; char ch; float f; a,b,c; 六枚举类型 如果一个变量只有几种可能的值,则可以定义为枚举类型 所谓“枚举”就是指把可能的值一一列举出来, 变量的值只限于列举出来的 值的范围内 enum Weekdaysun,

7、mon,tue,wed,thu,fri,sat; 七.用typedef声明新类型名 1.简单地用一个新的类型名代替原有的类型名 typedef int Integer; typedef float Real; 2.命名一个简单的类型名代替复杂的类型表示方法 命名一个新的类型名代表数组类型 typedef int Num100; Num a; 先按定义数组变量形式书写: int a100; 将变量名a换成自己命名的类型名:int Num100; 在前面加上 typedef,得到 typedef int Num100; 用来定义变量: Num a; 相当于定义了: int a100; 单元小结 介绍了结构体类型的作用,包括结构体变量的定义、引用、结构体数组的使

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论