下载此文档

第11章结构体与共用体.ppt


文档分类:IT计算机 | 页数:约54页 举报非法文档有奖
1/54
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/54 下载此文档
文档列表 文档介绍
第11章结构体与共用体
1、结构体类型的定义
2、结构体变量的定义及引用
3、结构体数组
4、结构体类型的指针
5、链表的基本操作
6、共用体和枚举类型(了解)
结构体类型的引入
问题:为了描述一个事物的不同属性,需要用到各种不同类型的数据,这些数据彼此相关,形成一个有机的整体。例如:一个教师的基本信息由姓名、性别、年龄、职称、工资等几项组合而成。如何描述一个教师的情况呢?
前面我们已学习过各种基本类型的变量和数组,而且我们知道,各个变量之间是相互独立的,无任何联系;而数组只能用来表示一批相同类型的数据。因此,若用单个变量分别表示教师的姓名、性别、年龄等属性,则难以反映他们之间的内在联系;若用数组,则根本无法表示,因为姓名、性别、年龄等不属同一种数据类型。
C语言中用“结构体”来描述由多个不同类型的数据组成的数据集合。相当于其他高级语言中的“记录”.

与基本数据类型不同的是,结构体是又一种构造类型,是由多个类型的数据成员组合而来的。因此该类型的具体内容应根据需要先定义,后使用。
可以定义如下结构体类型来描述教师的基本情况:
struct teacher /*struct 是关键字*/
{char name[30]; /*{}内是该类型的各成员*/
char sex;
int age;
char position[10];
float salary;
}; /*语句末尾是“;”*/
该结构体类型名为struct teacher,teacher 是该结构体的标识符;该类型包含有6个成员的数据项:name、 sex、 age、 position 和salary,其中每个成员项都有自己的类型。
可见,定义一种新的结构体类型的一般形式是:
struct 结构体类型名
{成员类型成员名;
……
成员类型成员名;
};
其中,struct 是关键字,结构体类型名、结构体成员名的命名规则同变量的命名规则一样。
特别提示:struct teacher只是一种具体的结构体类型,根据需要,程序员可以定义多个不同内容的结构体类型。其中的成员项是该类型的组成部分,而不是变量。
结构体类型的成员可以是基本类型的变量或数组,也可以是结构体类型的数据。即结构体类型的嵌套定义。
例如,若将教师的年龄改为出生日期,则可以将出生日期定义为一个结构体类型,然后嵌入 struct teacher中。
将出生日期单独定义为一个结构体类型后再嵌入。
Struct date_type
{ int year;
int month;
int day;
};
Struct teacher_2
{ char name[30];
char sex;
struct date_type birthday;
char position[10];
float salary;
} (常用)
直接嵌入。
Struct teacher_3
{ char name[30];
char sex;
struct date_type
{int year;
int month;
int day;
} birthday;
char position[10];
float salary;
} /*成员birthday又是一个结构体类型的数据。*/

经以上定义后,结构体类型struct teacher与系统定义的类型int、long、float 等一样,可以用它来定义该类型的变量、数组、函数等。
不同的是:结构体类型的作用范围是有限制的。在函数体内定义的结构体类型的作用域为本函数内,在函数体外定义的结构体类型的作用域为本程序文件内,若要引用不在本文件内的结构体类型,通常用#include命令将定义该类型的文件包含进来。
,用于存放一个教师的信息,然后将其输出。
#include ""
main()
{ struct teacher /*该类型的作用范围在本函数内*/
{ char name[30];
char sex;
int age;
char position[10]; float salary;
};
struct teacher person; /*定义结构体变量person*/
strcpy(,"wang li");
=‘f’; /*给各成员赋值*/
=30;
strcpy(,"middle");
=1600;
printf("\n name sex age posit

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

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