1 / 53
文档名称:

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

格式:ppt   页数:53
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

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

上传人:中国课件站 2011/10/11 文件大小:0 KB

下载得到文件列表

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

文档介绍

文档介绍:第7章结构体与共用体
结构体的概念
结构体类型变量
的定义方法
结构体变量的使
用形式和初始化
结构体数组
结构体与指针
结构体与函数
共用体
在实际的处理对象中,有许多信息是由多个不同类型的数据组合在一起进行描述,而且这些不同类型的数据是互相联系组成了一个有机的整体。此时,就要用到一种新的构造类型数据——结构体(structure),简称结构。结构体的使用为处理复杂的数据结构(如动态数据结构等)提供了有效的手段,而且,它们为函数间传递不同类型的数据提供了方便。
同时也介绍在相同存储区域内存储不同数据类型的构造类型――共用体(也称联合体)的相关概念。
结构体的概念
结构体是用户自定义的新数据类型,在结构体中可以包含若干个不同数据类型和不同意义的数据项(当然也可以相同),从而使这些数据项组合起来反映某一个信息。结构体相当于COBOL 和PASCAL等高级语言中的“记录”。
例如,可以定义一个职工worker结构体,在这个结构体中包括职工编号、姓名、性别、年龄、工资、家庭住址、联系电话。这样就可以用一个结构体数据类型的变量来存放某个职工的所有相关信息。并且,用户自定义的数据类型worker也可以与int、double等基本数据类型一样,用来作为定义其他变量的数据类型。
定义一个结构体类型的一般形式为:
struct 结构体名
{
数据类型成员名1;
数据类型成员名2;
:
数据类型成员名n;
};
在大括号中的内容也称为“成员表列”或“域表”。其中,每个成员名的命名规则与变量名相同;数据类型可以是基本变量类型和数组类型,也可以是指针变量类型,或者是一个结构体类型;用分号“;”作为结束符。整个结构的定义也用分号作为结束符,
例如:定义一个职工worker结构体如下:
struct worker
{ long number;
char name[20];
char sex; //sex是成员名
int age;
float salary;
char address[80];
char phone[20]; }; //注意分号不要省略
int sex=10; //sex是变量名
结构体类型中的成员名可以与程序中的变量名相同,二者并不代表同一对象,编译程序可以自动对它们进行区分。
最后,总结一下结构体类型的特点:
(1)结构体类型是用户自行构造的。
(2)它由若干不同的基本数据类型的数据构成。
(3)它属于C++语言的一种数据类型,与整型、实型相当。因此,定义它时不分配空间,只有用它定义变量时才分配空间。
结构体类型变量 的定义方法
结构体只是用户自定义的一种数据类型,因此要通过定义结构体类型的变量来使用这种类型。通常有三种形式来定义一个结构体类型变量,分别说明如下:
先定义结构体类型再定义变量名
这是C++语言中定义结构体类型变量最常见的方式,一般语法格式如下:
struct 结构体名
{
成员表列;
};
struct 结构体名变量名;
例如,定义几个职工变量:
struct worker
{
long number;
char name[20];
char sex;
int age;
float salary;
char address[80];
char phone[20];
};
struct worker worker1,worker2;
注意:“struct worker”代表类型名,不能分开写为:
struct worker1,worker2; //错误,没有指明是哪种结构体类型

worker worker1,worker2;
//错误,没有struct关键字
//系统不认为worker是结构体类型
为了使用上的方便,程序员通常用一个符号常量代表一个结构体类型。即在程序开头加上下列语句:
#define WORKER struct worker;
这样在程序中,WORKER与struct worker完全等效。
例如:
WORKER
{ long number;
char name[20];
char sex;
int age;
float salary;
char address[80];
char phone[20]; };
WORKER worker1,worker2;
此时,可以直接用WORKER定义worker1、worker2两个变量,而不必再写关键字struct。

最近更新

2024年山东省菏泽地区单招职业适应性测试题库.. 40页

2024年山东胜利职业学院单招职业倾向性测试题.. 40页

2024年山西国际商务职业学院单招职业倾向性考.. 39页

2024年山西水利职业技术学院单招综合素质考试.. 41页

2024年山西省太原市单招职业倾向性测试模拟测.. 40页

2024年山西药科职业学院单招职业技能考试模拟.. 41页

2024年岳阳现代服务职业学院单招职业适应性考.. 41页

2024年川北幼儿师范高等专科学校单招职业适应.. 42页

2024年常州纺织服装职业技术学院单招职业倾向.. 41页

2024年平凉职业技术学院单招职业适应性考试题.. 40页

2024年广东农工商职业技术学院单招职业技能考.. 41页

2024年广东工程职业技术学院单招职业倾向性测.. 40页

2024年广东环境保护工程职业学院单招职业技能.. 40页

2024年广东省梅州市单招职业适应性考试模拟测.. 41页

2024年广东金融学院单招职业倾向性测试题库新.. 39页

2024年广州体育职业技术学院单招综合素质考试.. 41页

2024年广州城建职业学院单招职业适应性测试模.. 41页

2024年广西信息职业技术学院单招职业倾向性测.. 41页

2024年广西工程职业学院单招职业倾向性考试模.. 40页

2024年广西水利电力职业技术学院单招职业倾向.. 41页

2024年广西理工职业技术学院单招综合素质考试.. 39页

2024年广西职业技术学院单招职业适应性测试模.. 40页

2024年广西质量工程职业技术学院单招职业倾向.. 41页

2024年应天职业技术学院单招职业适应性考试题.. 40页

2025年国家开放大学《建筑力学》章节测试参考.. 13页

【人教版英语字帖】七年级下册单词表衡水体字.. 42页

食品安全自查、从业人员健康管理、进货查验记.. 9页

康复医院设置标准1 14页

介绍医院门诊ppt 28页

农村人才流失国外研究报告 2页