1700415430
/*返回读出的数据*/
1700415431
1700415432
return Data;
1700415433
1700415434
}
1700415435
1700415436
图6.9 数组变成了“数据环”
1700415437
1700415438
1700415439
1700415440
1700415441
1700415442
1700415443
1700415445
计算机是怎样跑起来的 6.6 要点6:了解结构体的组成
1700415446
1700415447
要想理解用C语言程序实现链表和二叉树的方法,就必须先了解“结构体”。所谓结构体,就是把若干个数据项汇集到一处并赋予其名字后所形成的一个整体。例如,可以把学生的语文、数学、英语的考试成绩汇集起来,形成一个叫做TestResult的结构体
1700415448
1700415449
在代码清单6.8中,定义了一个名为TestResult的结构体。C语文中结构体的定义方法是:先在struct这个关键词后面接上结构体的名字(也被称为结构体的标签),然后在名字后面接上用{和}括起来的程序块,并在程序块中列出若干个数据项
1700415450
1700415451
代码清单6.8 结构体汇集了若干个数据项
1700415452
1700415453
struct TestResult{
1700415454
1700415455
char Chinese; /*语文成绩*/
1700415456
1700415457
char Math; /*数学成绩*/
1700415458
1700415459
char English; /*英语成绩*/
1700415460
1700415461
一旦定义完结构体,就可以把结构体当作是一种数据类型,用它来定义变量。如果把结构体TestResult用作数据类型并定义出了一个名为xioaming的变量(代表小明的成绩),那么在内存上就相应地分配出一块空间,这块空间由用于存储Chinese,Math,English这三个成员(Member)数据所需的空间汇集而来。被汇集到结构体中的每个数据项都被称为“结构体的成员”。在为结构体的成员赋值或是读取成员的值时,可以使用形如xiaoming.Chinese(表示小明的语文成绩)的表达式,即以“.”分割变量和结构体的成员(如代码清单6.9所示)
1700415462
1700415463
代码清单 6.9 结构体的使用方法
1700415464
1700415465
struct TestResult xiaoming; /*把结构体作为数据类型定义变量*/
1700415466
1700415467
xiaoming.Chinese=80; /*为成员数据Chinese赋值*/
1700415468
1700415469
xiaoming.Math=90; /*为成员数据Math赋值*/
1700415470
1700415471
xiaoming.English=100; /*为成员数据English赋值*/
1700415472
1700415473
如果要编写一个用于处理100名学生考试成绩的程序,需要定义一个以TestResult为数据类型,包含100个元素的数组。通过定义,在内存上就分配出一块空间,能够存储100个数据的集合,每个数据的集合中都含有Chinese,Math,English三个数据项(如图6.10所示)。接下来只要巧妙地运用结构体的数组就可以实现链表和二叉树了
1700415474
1700415475
图6.10 结构体数组的示意图
1700415476
1700415477
1700415478
1700415479
[
上一页 ]
[ :1.70041543e+09 ]
[
下一页 ]