初学C语言系列之数组与结构

浅谈数组与结构的关系

定义一个数组:
类型名 数组名[数组长度] ;

定义一个结构体:
struct 结构名{
类型名 结构成员名1;
类型名 结构成员名2;

类型名 结构成员名n;
};

结构与数组都是用来存储多个信息的数据类型。
对于结构体,我们可以理解成一个允许存储不同类型数据的二维数组,结构成员名可当做二维数组的列,而每个结构成员存储的数据可当做二维数组的行,举个例子:
如果要定义三个同学,语文、数学、英语这三门课程的成绩。我们首先建一个表格:

语文数学英语
小明899056
小红456734
小刚568767

如果要将成绩导入程序,可以定义一个二维数组:

score[3][3]={{89,90,56},{45,67,34},{56,87 67}};

这样成绩就存到了程序中,如果要查看小明的数学成绩 ,需要将score[0][1]输出即可,但是有没有发现,这样太不方便了,我要想知道小明的数学成绩,还需要先查找小明在哪一行,以及数学成绩在哪一列。
那么,如果使用结构呢?
我们先定义一个结构:

struct   score{
int chinese;
int math;
int english; 
};

之后我们定义一个结构数组

struct  score s[3];

然后以此给其赋值

s[0]={89,90,65};  //小明的成绩
s[1]={45,67,34};   //小红的成绩
s[2]={56,87,67};   //小刚的成绩

如此置入,我们需要查看小明的数学成绩时只需输出s[0].math
有人又会问,这也没轻松多少啊,还不是要记住小明是第几个?这不可否认,但如果我们想把小明的名字,年龄,爱好等不同类型的信息都录入。都可以使用结构来处理,甚至还可以在结构中定义一个指针,这是数组无法做到的。

struct   score{
char name[20];
int age;
char sex[5];
int chinese;
int math;
int english; 
char address[50];
};

因此我们可以说,结构是数组的升级版。结构里面可以定义数组,也可以定义结构数组,只有将二者结合起来,合理使用,才能更好地处理编写程序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值