第八章 结构体及其他复合类型.pptVIP

  • 1
  • 0
  • 约3.77千字
  • 约 40页
  • 2019-06-28 发布于湖北
  • 举报
第八章 结构体及其他 复合类型 ;概述;如: struct student { int num; /*学号*/ char name[20]; /*姓名*/ char sex; /*性别*/ int age; /*年龄*/ float score; /* 成绩*/ char addr[30]; /*地址*/ }; ;定义结构体类型变量的方法;一:先定义结构体类型再定义变量;二:在定义类型的同时定义变量;三:直接定义结构类型变量;结构体类型变量定义说明;成员也可以是结构体。如: struct date { int year; /*年*/ int month; /*月*/ int day; /*日*/ }; struct student { int num; char name[20]; struct date birthday; /*生日*/ …… }; …...;结构体类型变量的引用;结构体成员引用方式: 结构体变量名.成员名 如: student1.name student1.num 新c标准允许将一个结构体变量赋值给另一个同结构的结构体变量。如:student1=student2 对成员变量可以象普通变量一样进行各种运算 如: student2.num=student1.num+1; 可以引用成员的地址,也可以引用结构体变量的地址.如:student1.num /*num域的地址*/ student1 /*student1的首地址,也是num域的地址*/ …...;结构体变量的初始化;一:对外部存储类型的结构体变量进行初始化. ;二:对静态存储类型的结构体变量进行初始化 ;三:新的c标准也可以对自动变量在定义时赋初值. ;结构体数组;一: 结构体数组的定义;方法2:对应结构体变量定义方法2 struct student { long int num; char name[20]; char sex; char addr[20]; } students[3];;方法3:对应结构体变量定义方法3 struct { long int num; char name[20]; char sex; char addr[20]; } students[3]; …...;二:结构体数组的初始化;三 :举例:候选人得票统计;方法: 1:定义数据类型:结构体数组 struct leader { char name[20]; int count; /*得票数*/ }leaders[ ]={zhang, 0, wang, 0, li, 0}; 2:循环做(唱票),循环次数为选票张数 { 输入被选人姓名; 相应计数+1; } 3:打印结果:每个候选人及得票; struct leader { char name[20]; /*姓名*/ int count; /*票数*/ }leaders[ ]={zhang,0,wang,0,li,0}; main( ) { int i,j; char name[20]; for (i=1;i=10;i++) /*循环输入10张选票*/ { scanf(%s,name); for (j=0;j3;j++) if (strcmp(name,leaders[j].name)= =0) leaders[j].count++; } printf(\n); for (i=0;i3;i++) printf(%s : %d\n,leaders[i].name,leaders[i].count); /*输出选举结果:个人得票*/ } …...;指向结构体类型数据的指针

文档评论(0)

1亿VIP精品文档

相关文档