《程序设计》cs.sjtu2005.9 定义结构体类型的同时定义变量 struct结构体类型名{ struct 字段声明; 字段声明; }结构体变量; }结构体变量; 区别:前者可以继续用结构体类型名定义变量 程序设计-16
《程序设计》 cs.sjtu 2005.9 程序设计 - 16 struct 结构体类型名{ 字段声明; } 结构体变量; struct { 字段声明; } 结构体变量; 区别:前者可以继续用结构体类型名定义变量
《程序设计》cs.sjtu2005.9 结构体类型的变量 ·结构体变量的定义 结构体类型的引用 指向结构体的指针 动态分配结构体的空间 程序设计17
《程序设计》 cs.sjtu 2005.9 程序设计 - 17 v 结构体变量的定义 v 结构体类型的引用 v 指向结构体的指针 v 动态分配结构体的空间
《程序设计》cs.sjtu2005.9 结构体变量的访问 对结构体类型变量的引用一般为引用 他的成员 成员的表示: 结构变量名.成员名 如:student1.name 如结构中还有结构,则一级一级用”.”分开,如 如:student1.birthday..year 程序设计-18
《程序设计》 cs.sjtu 2005.9 程序设计 - 18 结构体变量的访问 成员的表示: 结构变量名.成员名 如: student1.name 如结构中还有结构,则一级一级用”.”分开 ,如 如:student1.birthday.year v 对结构体类型变量的引用一般为引用 他的成员
结构变量的赋值 《程序设计》cs.sjtu2005.9 结构体是一个统称。每个结构体类型在使用前都要先定义 自己有哪些分量。系统事先无法知道如何处理他。 因此,结构体变量的赋值通常是通过对它的每一个成员的 赋值而实现。如:输入student1的内容可用: cin >student1.no >studentl.name >studentl.chinese >studentl.math >student1.english >student1.birthday.year >student1.birthday.month >student1.birthday.day; 同类型的结构变量之间可以相互赋值,如 Student1 student2; 将student2的成员对应赋给student1的成员 程序设计-19
《程序设计》 cs.sjtu 2005.9 程序设计 - 19 结构变量的赋值 v 结构体是一个统称。每个结构体类型在使用前都要先定义 自己有哪些分量。系统事先无法知道如何处理他。 v 因此,结构体变量的赋值通常是通过对它的每一个成员的 赋值而实现。如:输入student1的内容可用: cin >> student1.no >> student1.name >> student1.chinese >> student1.math >> student1.english >> student1.birthday.year >> student1.birthday.month >> student1.birthday.day; v 同类型的结构变量之间可以相互赋值,如 Student1 = student2; 将student2的成员对应赋给student1的成员
《程序设计》cs.sjtu2005.9 结构变量的输出 结构体变量的输出通常是通过输出它的每一 个成员而实现。如:输出studenti1的内容可 用: cout <studentl.no <studentl.name <student1.chinese <student1.math <student1.english <studentl.birthday.year <studentl.birthday.month <student1.birthday.day; 程序设计-20
《程序设计》 cs.sjtu 2005.9 程序设计 - 20 结构变量的输出 v 结构体变量的输出通常是通过输出它的每一 个成员而实现。如:输出student1的内容可 用: cout << student1.no << student1.name << student1.chinese << student1.math << student1.english << student1.birthday.year << student1.birthday.month << student1.birthday.day;