下载此文档

第七章 结构体、共用体与枚举.ppt


文档分类:IT计算机 | 页数:约54页 举报非法文档有奖
1/54
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/54 下载此文档
文档列表 文档介绍
教学目标:
通过本章学习,要求学生能熟练运用结构体这一新
的数据结构编制较复杂的应用程序,并掌握链表的建立、
插入、删除、查找等操作的算法。
本讲重点:
、引用、初始化;
;

本讲难点:
用指针处理链表。
教学方法:
理论教学与实践教学相结合。
第七章结构体、共用体与枚举
结构体类型与变量
结构体数组
结构体类型数据的指针
结构体位段
共用体类型与变量
枚举类型与变量

结构体类型与变量
结构体类型定义
结构体类型定义的一般形式为:
struct 结构体类型名
{ 类型1 成员1;
类型2 成员2;
…………
类型n 成员n;
};
例如:struct student
{ int num;
char name[20];
char sex;
int age;
float score;
char addr[30];
};
说明:
1. 结构体类型由“struct 结构体类型名”统一说明和引用。
2. 只有变量才分配地址,类型定义并不分配内存空间。
3. 结构体中说明的各个成员类似于以前的变量,但在类型定义时不分配地址。
4. 相同类型的成员可以合在一个类型下说明。如
struct student
{ int num,age;
char name[20],sex,addr[30];
float score;
};
5. 最后一定要以分号结束。
6. 可以嵌套定义,即在结构体类型定义中又有结构体类型的成员。如
struct student
{ int num,age;
char name[20],sex,addr[30];
struct
{ float Chinese,Math,Physics,English;
}score;/* 无名结构体类型定义的成员score */
};
7. 结构体类型有作用范围的。即,它与变量一样,有全局和局部之分。在一个函数中定义的结构体类型是局部的,只能用于在该函数中定义结构体变量;在函数之外定义的结构体类型是全局的,可定义在其后用到的结构体类型的全局和局部变量。
结构体变量的定义和引用
  定义结构体类型变量有如下三种形式(以上面的结构体类型
student为例):
1. 定义结构体类型之后再定义结构体类型变量,如
struct student a,b,c;
定义了三个结构体类型变量a、b和c。
2. 定义结构体类型同时定义结构体类型变量,如
struct student
{ int num;
char name[20];
char sex;
int age;
float score;
char addr[30];
}a,b,c;
也定义了三个结构体类型变量a、b和c。
3. 定义无名结构体类型同时定义结构体类型变量,如
struct
{ int num;
char name[20];
char sex;
int age;
float score;
char addr[30];
}a,b,c;
也定义了三个结构体类型变量a、b和c。但这种方法只能在
此定义变量,因为没有类型名称,所以这种结构体类型无法
重复使用。
无论哪种定义变量的形式,系统都将给已定义的变量分配地址。分配内存空间的大小为各个成员所占地址空间的总和,并且各个成员变量是按类型定义的顺序分配地址空间的。那么如何使用各个成员变量呢?
成员的引用方式:一般地,要引用到最底层的成员。
[.成员变量名.…]
【】结构体成员引用举例。
main()
{ struct student
{ int num,age;
char name[20],sex,addr[30];
struct
{ float Chinese,Math,Physics,English;
}score;
}a={4102,21,"Li Ping",’F’,"Beijing Road 11#",{87,63,54,72}};
printf("No.:%d\nName:%s\nSex:%c\nAddress:%s\n",,,
,);
printf("Chinese:%\nMath:%\nPhisics:%\nEnglish:%\n",
,,,

第七章 结构体、共用体与枚举 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数54
  • 收藏数0 收藏
  • 顶次数0
  • 上传人中国课件站
  • 文件大小0 KB
  • 时间2011-10-11