文档详情

用户自定义数据类型.pptx

发布:2025-04-20约2.11万字共10页下载文档
文本预览下载声明

第九章

用户自定义数据类型

第九章用户自定义数据类型

01

添加标题

结构体的概念及使用

02

添加标题

结构体数组

03

添加标题

结构体指针

04

添加标题

链表的概念及基本操作

05

添加标题

共用体的概念及使用

06

添加标题

9.6枚举类型

07

添加标题

9.7用typedef定义类型

08

添加标题

系统给定的数据类型

在基本类型基础上自己定义的

C语言的数据类型

考虑一个学生的基本信息包括:

学号、姓名、性别、年龄、成绩、住址等。

这对一名学生来说是一个整体,可以反映出学生的基本情况,如果用单个变量分别表示这几项,例如:

sum:学号name[10]:姓名sex:性别

age:年龄score:成绩addr[30]:住址

不能体现出它们之间的内在联系。

所以,希望有一种变量,来表示所有这些数据,也就是,把这些基本变量,作为一个整体构成一个新的变量,这种变量就是我们要介绍的结构体变量。

9.1结构体

结构体是一种构造数据类型

用途:把不同类型的数据组合成一个整体-------自定义数据类型

结构体类型定义

struct[结构体名]

{

类型标识符成员名;

类型标识符成员名;

…………….

};

成员类型可以是

基本型或构造型

struct是关键字,

不能省略

合法标识符

可省:无名结构体

分号不能省略

结构体类型定义描述结构

的组织形式,不分配内存

例如:要想把学生基本情况作为一个整体加以处理,比如:学号、姓名、性别、年龄、成绩、住址等。

必须定义结构体类型

{intnum;

例structstudent

01

charsex;

intage;

floatscore;

charaddr[30];

};

charname[20];

02

structstudent

{intnum;

charname[20];

charsex;

intage;

floatscore;

charaddr[30];

};

structstudentstu1,stu2;

1、先定义结构体类型,再定义结构体变量

一般形式:

struct结构体名

{

类型标识符成员名;

类型标识符成员名;

…………….

};

struct结构体名变量名表列;

定义结构体变

量之后为其分

配内存单元

结构体变量的定义

2、定义结构体类型的同时定义结构体变量

一般形式:

struct结构体名

{

类型标识符成员名;

类型标识符成员名;

…………….

}变量名表列;

例structstudent

{intnum;

charname[20];

charsex;

intage;

floatscore;

charaddr[30];

}stu1,stu2;

直接定义结构体变量

一般形式:

{

类型标识符成员名;

类型标识符成员名;

…………….

}变量名表列;

struct

{intnum;

charname[20];

charsex;

intage;

floatscore;

charaddr[30];

}stu1,stu2;

例struct

变量只能一次

用无名结构体直接定义

说明

结构体类型与结构体变量概念不同

类型:不分配内存;变量:分配内存

结构体类型是一个模型,类似系统给定的基本类型比如int、float等类型,只是结构体类型是用户自定义的而已。

结构体可嵌套

结构体成员名与程序中变量名可相同,不会混淆

引用规则

结构体变量不能整体引用,只能引用变量成员

成员(分量)运算符

优先级:1

结合性:从左向右

引用方式:结构体变量名.成员名

结构体变量的引用

可以将一个结构体变量赋值给另一个结构体变量

结构体嵌套时逐级引用

结构体变量的引用

结构体变量的初始化

显示全部
相似文档