第十四章结构体、共用体和用户 定义类型 概述:用户可以构造的三种数据类型 一三种形式 1用户定义类型( typedef) 2结构体( (Struct) 3共用体( union) <p」
第十四章 结构体、共用体和用户 定义类型 概述:用户可以构造的三种数据类型 三种形式: 1.用户定义类型(typedef) 2.结构体(struct) 3.共用体(union)
第十四章结构体、共用体和用户 定义类型 141用 typedef说明一种新类型名 形式: typedef类型名标识名; 如: typedef int INTEGER 它把一个用户命名的标识符Ⅰ NTEGER说明成一 个int类型的类型名 即: INTEGER是int的一个别名 习惯上:把新的类型名用大写字母表小
第十四章 结构体、共用体和用户 定义类型 14.1 用typedef说明一种新类型名 形式: typedef 类型名 标识名; 如: typedef int INTEGER; 它把一个用户命名的标识符INTEGER说明成一 个int类型的类型名 即: INTEGER是int的一个别名 习惯上:把新的类型名用大写字母表示
定义步骤:1.按通常方法定出定义的主体 char x 2将变量名换成新类型名 char米 HARP 3加上关键字 typedef typedef char* CHARP(声明 CHARP为字符指针类型) 4,用新类型名定义变量 ChaRP p、(p为字符指针变量) <p」
定义步骤:1.按通常方法定出定义的主体 char *p; 2.将变量名换成新类型名: char *CHARP; 3.加上关键字typedef: typedef char *CHARP;(声明 CHARP为字符指针类型) 4.用新类型名定义变量: CHARP p;(p为字符指针变量)
142结构体类型 引言:有些问题仅用基本类型和数组来描述是无 法实现的,需要将不同类型的数据组合成一个有 机的整体。因此,当要把一些相关信息组合在 起时,利用结构体类型很方便 如学生情况表: 姓名(name)字符串 性别(Sex):字符型 出生日期:( birthday)data结构体 四门课成绩:(sc):一维实型数组 D
引言: 有些问题仅用基本类型和数组来描述是无 法实现的,需要将不同类型的数据组合成一个有 机的整体。 因此,当要把一些相关信息组合在一 起时,利用结构体类型很方便. 如学生情况表: 姓名(name):字符串 性别(sex):字符型 出生日期:(birthday):data结构体 四门课成绩:(sc):一维实型数组 14.2 结构体类型
我们可以将上述四个成员组成一个名为 student的整体这些数据之间有相互关连的 关系不能拆开处理 14.21结构体类型的说明 般形式 struct结构体标识名 类型名1结构成员表1 类型名2结构成员表2 类型名n结构成员表n;
我们可以将上述四个成员组成一个名为 student的整体,这些数据之间有相互关连的 关系.不能拆开处理. 14.2.1 结构体类型的说明 一般形式: struct 结构体标识名 { 类型名1 结构成员表1; 类型名2 结构成员表2; 类型名n 结构成员表n; };
struct student char name[10] char sex struct i int year int month int day s birthday float Sc 4 一<p
struct student { char name[10]; char sex; struct { int year; int month; int day; }birthday; float sc[4]; };
说明 1.关键字 struct和“;不能少。 2.类型名1~类型名n可以是简单类型,也可以是构 造类型允许结构体嵌套 3这是用户自定义的类型,一经声明,就可以和 其它基本类型一样用来定义这种类型的变量了 4.以上的说明仅列出了该结构的组成情况,标志 这种类型的结构”模式“存在。但没有分配存储 <p」
说明: 1. 关键字struct 和“;”不能少。 2. 类型名1~类型名n可以是简单类型,也可以是构 造类型.允许结构体嵌套。 3 这是用户自定义的类型,一经声明,就可以和 其它基本类型一样用来定义这种类型的变量了。 4. 以上的说明仅列出了该结构的组成情况,标志 这种类型的结构”模式“存在。但没有分配存储 空间
1422结构体类型的变量,数组和指针变量的 定义 可以有四种方法定义变量 第一种形式 <p」
14.2.2 结构体类型的变量,数组和指针变量的 定义 可以有四种方法定义变量 第一种形式:
struct student char name[10] char sex struct date birthday float Sc[14] 3 std, pers, * pstd 变量sd的结构如下: n S y m 0 23 <「
struct student { char name[10]; char sex; struct date birthday; float sc[4]; } std,pers[3],*pstd; 变量std的结构如下: n s y m d 0 1 2 3
具有这一结构类型的变量中只能存放一组数据(一个 学生的档案) 数组pers:可以存放三名学生的档案 pstd指向具有 struct student类型的存储单元 第二种形式直接定义 struct std, pers B3], *pstd; <p」
具有这一结构类型的变量中只能存放一组数据(一个 学生的档案) 数组pers: 可以存放三名学生的档案 pstd:指向具有struct student 类型的存储单元 第二种形式:直接定义 struct { …… } std,pers[3],*pstd;