结构体与共用体
结构体与共用体
洁构体与共用体 结构体 ⑩结构体是一种构造数据类型 用途:把不同类型的数据组合成一个整体 自定义数据类型 结构体类型定义 合法标识符 可省:无名结构体 struct结构体名 类型标识符成员名; 类型标识符成员名; 成员类型可以是 struct是关键字, 基本型或构造型 不能省略 此处分号;不能少
结构体与共用体 结构体 结构体是一种构造数据类型 用途:把不同类型的数据组合成一个整体------- 自定义数据类型 – 结构体类型定义 struct [结构体名] { 类型标识符 成员名; 类型标识符 成员名; ……………. }; 成员类型可以是 struct是关键字, 基本型或构造型 不能省略 合法标识符 可省:无名结构体 此处分号 ; 不能少
结构体变量的定义 常用形式:先定义结构体类型,再定义结构体 变量 般形式 struct结构体名 类型标识符成员名; 例 struct point 类型标识符成员名; 看看B面垂面 double x double y struct结构体名变量名表列; struct point A
例 struct point { double x; double y; }; struct point A; 结构体变量的定义 – 常用形式:先定义结构体类型,再定义结构体 变量 • 一般形式: struct 结构体名 { 类型标识符 成员名; 类型标识符 成员名; ……………. }; struct 结构体名 变量名表列;
★说可 ◆结构体类型与结构体变量概念不同 ●类型:不分配内存 变量,分配内存 类型:不能赋值、存取、运算;变量:可以 ◇结构体可嵌套 今结构体 名可相同,不会混淆 心结构以例 struct point 与生存期 double x rouble y struct triangle i struct point A struct point B struct point C
说明 ❖结构体类型与结构体变量概念不同 ⚫类型:不分配内存; 变量:分配内存 ⚫类型:不能赋值、存取、运算; 变量:可以 ❖结构体可嵌套 ❖结构体成员名与程序中变量名可相同,不会混淆 ❖结构体类型及变量的作用域与生存期 例 struct point { double x; double y; }; struct triangle { struct point A; struct point B; struct point C; };
低地址 1 num 2字节 例 struct student name[O] 字节 int num: char name [20] int score 3] name 19] s1={1" Zha g San,80,90,100}s2 score[ol 2字节 score[1] 2字节 高地址 core[2] 字节 结构体类型定义描述结构 图7-1结构体变量s1的存储结构 的组织形式,不分配内存
例 struct student { int num; char name[20]; int score[3]; }s1={1,”Zhang San”,80,90,100},s2; 2字节 1字节 结构体类型定义描述结构 的组织形式,不分配内存 s1 num name[0] 2字节 2字节 2字节 score[1] score[0] score[2] …….. …….. name[19] 低地址 高地址 图 7-1 结构体变量s1的存储结构