下载此文档

第16讲 结构体与共用体(2).ppt


文档分类:IT计算机 | 页数:约9页 举报非法文档有奖
1/9
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/9 下载此文档
文档列表 文档介绍
结构体数组

(1)先定义结构体类型再定义结构体数组。
如:
struct student
{int num;
char name[20];
char sex;
int age;
float score;
char addr[30];
};
struct student stu[3];
(2)直接定义一个结构体数组。
如:
struct student
{int num;

}stu[3];
或:
struct
{int num;

}stu[3];
99001
zhangxin
M
19

shanghai
99002
Wangli
F
20
98
Beijing
99003
Yanglan
m
21
86
Shenyang
Stu[0]
Stu[1]
Stu[2]
结构体数组的初始化
结构体数组初始化的一般形式是在定义数组的后面加上={初值列表};
如:
struct student
{int num;

}
struct student stu[ ]={{----},{----},----,{----}};
注意:此处有“;”号和无“;”号的区别。
举例
对选举人得票的统计程序。设有三个候选人,每次输入一个得票的候选人的名字,要求最后输出每人得票结果。程序如下:
struct person
{char name[20];
int count;
} leader[3]={“Li”,0,”Zhang”,0,”Wang”,0};
main()
{int I,j;
char name[20];
for(i=1;i<=10;i++)
{scanf(“%s”,name);
for(j=0;j<3;j++)
if(strcmp(name,leader[j].name)leader[j].count++;}
printf(“\n”);
for(i=1;i<3;i++)
printf(“%5s:%d\n”,leader[i].name,leader[i].count);}
两处name
是否为重名
指向结构体类型数据的指针
一个结构体变量指针就是该变量所占据的内存起始地址。可以设一个指针变量,用来指向一个结构体变量,此时该指针变量的值是结构体变量的起始地址。指针变量也可以用来指向结构体数组中的元素。
指向结构体变量的指针

main()
{struct student{
long int num;
char name[20];
char sex;
float score; };
struct student stu1;
struct student *p;
p=&stu1;
=99001;
strcpy(,”Li Lin”);
=‘M’;
=;
printf(“No.%ld\n name:%s\n sex:%c\n score:%f\n”,,,,);
printf(“\nNo.%ld\n

第16讲 结构体与共用体(2) 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息