1 / 35
文档名称:

第七章 结构类型数据描述.ppt

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

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

分享

预览

第七章 结构类型数据描述.ppt

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

下载得到文件列表

第七章 结构类型数据描述.ppt

文档介绍

文档介绍:第7章结构类型数据描述
结构体
共用体
枚举类型
用 typedef 定义类型名
位段结构
第7章结构类型数据描述
这种多项组合又有内在联系的的数据称为结构体
(structure)。它是可以由用户自己定义的。
结构体
在实际应用中,有时需要将一些有相互联系而类型
不同的数据组合成一个有机的整体,以便于引用。如学
生学籍档案中的学号、姓名、性别、年龄、成绩、地址
等数据,对每个学生来说,除了其各项的值不同外,但
表示形式是一样的。
num
name
sex
age
score
Addr
10010
Li Fun
F
18

Beijing
1. 概述
2. 结构体类型变量的定义
两者缺一不可
1) 结构体类型的定义形式
struct 结构体名
{ 分量表};
其中“分量表”中的分量也应进行类型说明,
例如:
struct student
{ int num;
char name[20];
char sex;
int age;
float score;
char addr[30];
};
即:
类型标识符分量名;
分量描述
由用户定义的“结构体类型”,可以同标准类型一样作为定义变量的类型。相当于PASCAL语言中的记录(record)。
2) 定义结构体类型变量的方法
先定义结构体类型再定义变量
定义了结构体类型 struct student 后,可以用它
定义变量。
注:不能写成 struct st1,st2; 必须同时指定结构体名。
为了方便起见,可以在程序开头定义符号常量进行
简化。如:
如:
struct student st1, st2;
则在程序中可以直接写成:
STUDENT
{ int num;
char name[20];
char sex;
int age;
float score;
char addr[30];
};
#define STUDENT struct student
STUDENT st1, st2;
在定义类型的同时定义变量
如:struct student
{ int num;
char name[20];
char sex;
int age;
float score;
char addr[30];
}st1,st2;
struct 结构体名
{
分量表;
} 变量表;
则一般定义形式为:
直接定义结构类型变量
定义形式为: struct { 分量表; } 变量表;
在 struct 后不出现结构体名,因此也不能再以此定
义相同的结构体变量。

类型与变量是两个不同的概念。一般先定义结构体类
型,再定义变量为该类型。变量可以赋值、存取或运
算,而类型没有这些操作。在编译时,对变量分配空
间,对类型来说不存在分配空间。
对结构体中的分量可以单独使用。
分量也可以是一个结构体变量。如 student 中要增加
birthday,则可按如下方式进行定义:
struct date
{ int month;
int day;
int year;
};
struct student
{ 
struct date birthday;

}st1, st2;
先定义一个日期结构
该分量也是一个结构体
分量名可以与程序中的变量名相同,两者之间不会
产生混淆。
4. 结构体类型变量的引用
引用结构体变量应遵守如下规则:
1) 结构体变量中分量的引用方式
结构体变量名分量名[ 二级分量名]
其中:“”为分量运算符, 在所有的运算符中优先级最高。
2) 结构体变量的分量本身又属于结构体类型时只能对最
低级分量进行操作。
如:
;
;
;
写成 并不会访问st1中的birthday,只会
引起警告错误。
3) 不能将一个结构体变量直接进行输入输出,只能对结
构体变量的各分量进行输入输出。
如:
scanf(“%d,%s,%c,%d,%f,%s”,&st1);
错误
printf(“%d,%s,%c,%d,%f,%s”,st1);
错误
printf(“%s,%d”,,);
正确
4) 分量和结构体变量的地址均可以被引用
如:
scanf(“%d”,&);

printf(“%x”,&st1)

最近更新

2025年河南推拿职业学院单招职业倾向性考试模.. 39页

2026年临汾职业技术学院单招职测考试题库必考.. 41页

2025年河南省许昌市单招职业倾向性测试模拟测.. 41页

2026年云南国土资源职业学院单招职业技能考试.. 43页

2025年泉州华光职业学院单招职业倾向性测试模.. 40页

2025年泉州经贸职业技术学院单招职业适应性考.. 40页

2025年泰山职业技术学院单招职业技能测试模拟.. 41页

2026年信阳涉外职业技术学院单招职业倾向性考.. 43页

2026年兰州外语职业学院单招职业适应性测试题.. 43页

2025年浙江体育职业技术学院单招职业倾向性测.. 40页

2025年浙江农林大学暨阳学院单招职业适应性测.. 40页

2025年浙江宇翔职业技术学院单招职业倾向性测.. 40页

2026年内蒙古通辽市单招职业倾向性考试模拟测.. 41页

2025年浙江旅游职业学院单招职业倾向性考试模.. 39页

2026年单招园林技术试题附答案 42页

2026年单招普高试题及答案1套 41页

2025年浙江警官职业学院单招职业适应性测试模.. 40页

2025年浙江金华科贸职业技术学院单招综合素质.. 42页

2025年海南体育职业技术学院单招职业倾向性测.. 41页

2025年海南外国语职业学院单招职业技能考试模.. 40页

2026年历年篮球单招试题必考题 42页

2025年深圳信息职业技术学院单招职业适应性测.. 40页

2025年渤海船舶职业学院单招职业技能考试模拟.. 39页

2025年温州理工学院单招职业倾向性测试模拟测.. 40页

2025年湖北体育职业学院单招综合素质考试题库.. 40页

2026年吉林省松原市单招职业适应性测试模拟测.. 42页

2025年湖北水利水电职业技术学院单招职业适应.. 39页

2026年哈密职业技术学院单招职业技能考试模拟.. 42页

2026年哈尔滨幼儿师范高等专科学校单招职业适.. 42页

2025年湖南中医药高等专科学校单招职业技能测.. 40页