
第12章 结构体 2025年4月2日
2025年4月2日 第 12 章 结 构 体

第12章结构 目录 结构体类型定义 结构体类型变量定义 3 结构体类型变量引用 结构体类型变量初始化 结构体类型数组 6 结构体类型指针变量 网☒D
第12章 结构体 目 录 4 1 结构体类型 定义 2 结构体类型 变量定义 3 结构体类型 变量引用 结构体类型 变量初始化 6 5 结构体类型 数组 结构体类型 指针变量

第12章结构体 结构体类型定义 一 般地,定义一个有个成员的结构体类型可以采用 如下形式: 【格式】 struct结构体名 {类型标识符1成员名1; 类型标识符2成员名2; 类型标识符n成员名n; };
第12章 结构体 一般地,定义一个有n个成员的结构体类型可以采用 如下形式: 【格式】 struct 结构体名 { 类型标识符1 成员名1; 类型标识符2 成员名2; . . 类型标识符n 成员名n; } ; 1 结构体类型 定义

第12章结构体 结构体类型定义 例: struct date 例: int year; int month; struct stud nt day; int num; : char name[10] struct student float score; int num; H char name[10]; char sex; struct date birthday; char addr[20] 网☒D H
第12章 结构体 例: struct date { int year; int month; nt day; }; struct student { int num; char name[10]; char sex; struct date birthday; char addr[20]; }; 例: struct stud { int num; char name[10]; float score; }; 1 结构体类型 定义

2 结构体类型变量定义 第12章结构体 结构体名定义好后,该标识符的使用就如其它类型 标识符(如int、float、char等)一样的使用,即可以 定义该类型变量。 struct结构体名变量名列表; 例如: struct stud stu1,stu2; struct student a,b; 网☑)
第12章 结构体 结构体名定义好后,该标识符的使用就如其它类型 标识符(如int、float、char等)一样的使用,即可以 定义该类型变量。 struct 结构体名 变量名列表; 例如: struct stud stu1,stu2; struct student a,b; 2 结构体类型 变量定义

结构体类型变量定义 第12章结构 2 结构体变量还可用以下方法定义: >直接定义结构体变量: >定义结构体名同时定义变量: struc struct结构体名 《类型标识符1成员名1; {类型标识符1成员名1; 类型标识符2成员名2; 类型标识符2成员名2; 类型标识符n成员名n; 类型标识符n成员名n; }变量名表; }变量名表; 国✉D
第12章 结构体 ➢直接定义结构体变量: struc { 类型标识符1 成员名1; 类型标识符2 成员名2; . . 类型标识符n 成员名n; } 变量名表; 结构体变量还可用以下方法定义: ➢定义结构体名同时定义变量: struct 结构体名 { 类型标识符1 成员名1; 类型标识符2 成员名2; . . 类型标识符n 成员名n; } 变量名表; 2 结构体类型 变量定义

第12章结构体 3 结构体类型变量引用 除对结构体变量赋值或作为参数传递可直接对一 个结构体变量整体操作外,其它情况下只能对结构体变 量的各个成员分别引用,其引用形式为: 【格式】结构体变量名,成员名 其中“.”叫做成员运算符,它在所有的运算符 中优先级最高。 网☑D
第12章 结构体 除对结构体变量赋值或作为参数传递可直接对一 个结构体变量整体操作外,其它情况下只能对结构体变 量的各个成员分别引用,其引用形式为: 【格式】 结构体变量名. 成员名 其中“.”叫做成员运算符,它在所有的运算符 中优先级最高。 3 结构体类型 变量引用

3 结构体类型变量引用 第12章结构 可对结构体类型变量的成员进行与类型变量一样 的各种运算。 sum=stu1.score+stu2.score; stu2.num=stu1.num; stu2.score=stut1.score; stut2.num++; 等均为合法语句。 网☒D
第12章 结构体 可对结构体类型变量的成员进行与类型变量一样 的各种运算。 sum=stu1.score+stu2.score; stu2.num=stu1.num; stu2.score=stut1.score; stut2.num++; 等均为合法语句。 3 结构体类型 变量引用

结构体类型变量引用 第12章结构 main() {struct stud {int num; char name[10]; float score; }stul,stu2; scanf(“%d%s %f",&stul.num,stul.name,&stul.score); stu2.num=11; gets(stu2.name); stu2.score=89.5; printf ("\n%d,%s,%f",stul.num,stul.name,stul.score) nd,%s,f",stu2.num,stu2.name,stu2.score)
第12章 结构体 main() {struct stud { int num; char name[10]; float score; }stu1,stu2; scanf(“%d %s %f”,&stu1.num,stu1.name,&stu1.score); stu2.num=11; gets(stu2.name); stu2.score=89.5; printf(“\n%d,%s,%f”,stu1.num,stu1.name,stu1.score) ; printf(“\n%d,%s,%f”,stu2.num,stu2.name,stu2.score) ; 3 结构体类型 变量引用

第12章结构 3 结构体类型变量引用 在某些情况下可以对结构体变量的整体操作。 例: struct stu int num; float score }stu1={10,“Tom",89},stu2; stu2=stu1; 网☑D
第12章 结构体 在某些情况下可以对结构体变量的整体操作。 例: struct stu { int num; float score } stu1={10,“Tom",89}, stu2; stu2=stu1; 3 结构体类型 变量引用