第10讲结构体 、结构体类型 二、结构体变量 结构体变量的引用 四、结构体变量的初始化 五、结构体数组
第10讲 结构体 一、结构体类型 二、结构体变量 三、结构体变量的引用 四、结构体变量的初始化 五、结构体数组
结构体类型的数据由数目固定,类型不同的 若干成员构成,在内存中占有一段连续的存储空 间。不同的结构体类型其成员不同。 在程序中使用结构体,必须先做两项工作: 1)定义结构体类型:描述该结构体的成员名称、 成员类型。 2)定义结构体类型变量:根据结构体类型位为 定义的结构体变量分配存储空间
结构体类型的数据由数目固定,类型不同的 若干成员构成,在内存中占有一段连续的存储空 间。不同的结构体类型其成员不同。 在程序中使用结构体,必须先做两项工作: 1)定义结构体类型:描述该结构体的成员名称、 成员类型。 2)定义结构体类型变量:根据结构体类型位为 定义的结构体变量分配存储空间
、结构体类型 结构体类型声明的格式为 struct结构体名 {类型名1结构成员名1 类型名2结构成员名2; 类型名n结构成员名n;
一、结构体类型 结构体类型声明的格式为: struct 结构体名 { 类型名1 结构成员名1 ; 类型名2 结构成员名2 ; ··· 类型名n 结构成员名n ; } ;
结构体类型声明的格式说明: struct:关键字,是定义结构体类型的标志。 结构体名:用户定义的结构体类型名,其命 名规则同变量名。 类型名1~n:说明了结构成员的类型。 结构成员名1~n:用户定义的一个或多个结 构体成员的名称,其命名规则同变量名。多 个同类型的成员彼此间用逗号分隔
结构体类型声明的格式说明: • struct:关键字,是定义结构体类型的标志。 • 结构体名:用户定义的结构体类型名,其命 名规则同变量名。 • 类型名1~n:说明了结构成员的类型。 • 结构成员名1~n:用户定义的一个或多个结 构体成员的名称,其命名规则同变量名。多 个同类型的成员彼此间用逗号分隔
定义举例 (1) struct date f int year, month, day;3: (2) struct student i char name 8; int score 2b, burse i int year, month, day i
定义举例 (1) struct date { int year, month, day ; } ; (2) struct student { char name[8]; int score[2], burse ; int year, month, day ; } ;
二、结构体变量 结构体类型的变量的定义方式: (1)先声明结构体类型,再定义结构体类型 的变量。 (2)在声明结构体类型的同时定义结构体类 型的变量。 (3)直接定义结构体类型的变量
二、结构体变量 结构体类型的变量的定义方式: (1)先声明结构体类型,再定义结构体类型 的变量。 (2)在声明结构体类型的同时定义结构体类 型的变量。 (3)直接定义结构体类型的变量
方式(1) 若事先已声明了结构体类型,那么直接用下 面格式定义结构体变量。 struct结构体名结构体变量名; 3]: struct date yesterday 存储形式: yesterday year month day 2字节2字节2字节
方式(1) 若事先已声明了结构体类型,那么直接用下 面格式定义结构体变量。 struct 结构体名 结构体变量名; 例:struct date yesterday ; 存储形式 : yesterday year month day 2字节 2字节 2字节
方式(2) 在声明结构体类型的同时定义结构体类型 的变量。定义格式为: struct结构体名 {类型名1结构成员名1; 类型名2结构成员名2; 类型名n结构成员名n; }结构体变量名表;
方式(2) 在声明结构体类型的同时定义结构体类型 的变量。定义格式为: struct 结构体名 { 类型名1 结构成员名1 ; 类型名2 结构成员名2 ; ··· 类型名n 结构成员名n ; } 结构体变量名表 ;
例: struct student i char name[ 8 int score2, burse int year, month, day i 3 tongxue, gongxue 存储形式: name[8] score[01 score[1l burse year month day 8字节2字节2字节2字节2字节2字节2字节
例:struct student { char name[8]; int score[2], burse ; int year, month, day ; } tongxue1, gongxue2; 存储形式: name[8] score[0] score[1] burse year month day 8字节 2字节 2字节 2字节 2字节 2字节 2字节
方式(3) 在声明结构体类型时可以直接定义结构体变 量,其定义格式为: struct 类型名1结构成员名1 类型名2结构成员名2 类型名n结构成员名n; }结构体变量名表;
方式(3) 在声明结构体类型时可以直接定义结构体变 量,其定义格式为: struct { 类型名1 结构成员名1 ; 类型名2 结构成员名2 ; ··· 类型名n 结构成员名n ; }结构体变量名表 ;