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

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

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

第12章结构件定义结构体类型例:datestruct int year;例:int month;studstructnt dayi intnum;3;char name[10]structstudentfloat score;Lintnum;7;charname[10];charsex;birthdayistruct datechar addr[20];J;
第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 结构体类型 定义

第12章结构件体结构体类型变量定义该标识符的使用就如其它类型结构体名定义好后,标识符(如int、、float、char等)一样的使用,即可以定义该类型变量。结构体名变量名列表;struct乡例如:structstudstu1,stu2;a,b;structstudent
第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;变量名表;1变量名表;
第12章 结构体 ➢直接定义结构体变量: struc { 类型标识符1 成员名1; 类型标识符2 成员名2; . . 类型标识符n 成员名n; } 变量名表; 结构体变量还可用以下方法定义: ➢定义结构体名同时定义变量: struct 结构体名 { 类型标识符1 成员名1; 类型标识符2 成员名2; . . 类型标识符n 成员名n; } 变量名表; 2 结构体类型 变量定义

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

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

第12章结构件3结构体类型变量引用.................E.....EEEEmain()studstruct intnum;name[10] :charfloatscore;I 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)Kprintf%d, %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章结构件变量引用结构体类型BE..EE...E..I在某些情况下可以对结构体变量的整体操作。例:struct stu( int num;floatscore} stu1={10,"Tom",89},stu2;stu2=stu1;
第12章 结构体 在某些情况下可以对结构体变量的整体操作。 例: struct stu { int num; float score } stu1={10,“Tom",89}, stu2; stu2=stu1; 3 结构体类型 变量引用