81结构体类型与结构体变量 令有关结构体的几点说明: 1、声明结构体类型只是说明了一种结构体的组织形式,在 编译时并不为它分配存储空间。只是在定义结构体类型变 量后,才为变量按照其组织形式分配内存空间。 2、结构体的成员可以是简单变量、数组、指针,还可以是 另一个已定义的结构体或共用体变量。 当定义一个结构体的成员又是一个结构体类型,这称为 结构体的嵌套定义。 struct student struct date i int num i int year char name[20 int month; char sex: int day; struct date birthday; float score ☆☆第8章结构体、共用体与枚举类型
☆☆ 第8章 结构体、共用体与枚举类型 6 8.1 结构体类型与结构体变量 ❖有关结构体的几点说明: ▪ 1、声明结构体类型只是说明了一种结构体的组织形式,在 编译时并不为它分配存储空间。只是在定义结构体类型变 量后,才为变量按照其组织形式分配内存空间。 ▪ 2、结构体的成员可以是简单变量、数组、指针,还可以是 另一个已定义的结构体或共用体变量。 • 当定义一个结构体的成员又是一个结构体类型,这称为 结构体的嵌套定义。 struct student { int num; char name[20]; char sex; struct date birthday; float score; }; struct date { int year; int month; int day; };
81结构体类型与结构体变量 3、结构体声明可以在函数内部, void maino 也可在函数外部。 struct student 在函数内部声明的结构体,只能在 Int num char name 20; 函数内部使用; char sex: Int age; n在函数外部声明的结构体,从声明 float scores 处到源文件结尾之间的所有函数都可31,t 使用。 4、结构体成员的名字可以同程序 中的其他变量名相同,两者的意 义不同,不会相混。 ☆☆第8章结构体、共用体与枚举类型
☆☆ 第8章 结构体、共用体与枚举类型 7 8.1 结构体类型与结构体变量 3、结构体声明可以在函数内部, 也可在函数外部。 ▪ 在函数内部声明的结构体,只能在 函数内部使用; ▪ 在函数外部声明的结构体,从声明 处到源文件结尾之间的所有函数都可 使用。 4、结构体成员的名字可以同程序 中的其他变量名相同,两者的意 义不同,不会相混。 void main() { struct student { int num; char name[20]; char sex; int age; float score; }stu1,stu2; …… }
81结构体类型与结构体变量 令81.3结构体变量的定义 1、先声明结构体类型,再定义变量 struct student t int num; char name[20]i char sex; int age; float score struct student stul, stu2 ☆☆第8章结构体、共用体与枚举类型 8
☆☆ 第8章 结构体、共用体与枚举类型 8 8.1 结构体类型与结构体变量 ❖8.1.3 结构体变量的定义 ▪ 1、先声明结构体类型,再定义变量 struct student { int num; char name[20]; char sex; int age; float score; }; struct student stu1, stu2;
81结构体类型与结构体变量 令2、在声明类型的同时定义变量 struct结构体名 举例: struct student 成员列表; i int num; char name 20l; }变量名表列 char sex Int age; fe oat score 3stul, stu2; ☆☆第8章结构体、共用体与枚举类型
☆☆ 第8章 结构体、共用体与枚举类型 9 8.1 结构体类型与结构体变量 ❖2、在声明类型的同时定义变量 struct 结构体名 { 成员列表; }变量名表列; 举例: struct student { int num; char name[20]; char sex; int age; float score; }stu1,stu2;
81结构体类型与结构体变量 令3、直接定义结构体类型变量 struct 举例: struct 成员表列; int num; char name 20; }变量名表列; char sex. int age. float score 3stul, stu2; 与第2种方式的区别:未声明结构体类型 不建议使用 ☆☆第8章结构体、共用体与枚举类型
☆☆ 第8章 结构体、共用体与枚举类型 10 8.1 结构体类型与结构体变量 ❖3、直接定义结构体类型变量 struct { 成员表列; }变量名表列; 举例: struct { int num; char name[20]; char sex; int age; float score; }stu1,stu2; •与第2种方式的区别:未声明结构体类型 •不建议使用