- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
结构体与函数,链表的定义
第5次:结构体与函数,链表的定义
【实验二】结构体与动态数据结构(结构体与函数,链表的定义)
【要求】
掌握结构体指针作为函数参数的用法。
掌握链表结点定义,会用结点连接成链表,并输出链表内容。
结构体指针作为函数参数
定义 CARD 结构体,分别编写函数实现 CARD 的输入和打印,然后在主程序中调用。
(1)定义 CARD 结构:
// CARD 结构定义
struct CARD
{
char suit[10];
char face[10];
};
(2)编写函数输入一个 CARD 结构体变量:
// 输入一张扑克牌
void InputCard ( struct CARD *pCard )
{
// TODO: 分别输入 pCard-suit 和 pCard-face
}
(3)编写函数打印一个 CARD 结构体变量。
// 打印一张扑克牌
void PrintCard ( struct CARD *pCard )
{
// TODO: 分别打印 pCard-suit 和 pCard-face
}
(4)在主函数中调用:
int main()
{
struct CARD card;
?
InputCard( card );
PrintCard( card );
?
return 0;
}
链表的定义
用结点连接成链表,并输出链表中的数据。
(1)首先定义链表结点,其数据域存放一个整数。
struct Link
{
int data; // 数据域
struct Link *next; // 指向下一个结点的指针域
};
(2)然后,分别定义 5 个结点,依次存放 1、2、3、4、5。
int main()
{
// 定义 5 个结点
struct Link n1, n2, n3, n4, n5;
?
// 依次存放 1、2、3、4、5
n1.data = 1;
n2.data = 2;
n3.data = 3;
...
?
return 0;
}
(3)给每个结点的指针域适当赋值,使其构成一个链表,且链表中的数据依次为 1、2、3、4、5。
// 连成一个链表
n1.next = n2;
n2.next = n3;
...
n5.next = NULL;
(4)定义一个指针,使其指向链表中的第一个结点,作为链表的头指针。
// 定义 5 个结点
struct Link n1, n2, n3, n4, n5;
// 定义头指针
struct Link *head = n1;
(5)定义一个指针,从链表头指针开始,循环遍历整个链表,并输出其中的数据。
// 定义 5 个结点
struct Link n1, n2, n3, n4, n5;
// 定义头指针
struct Link *head = n1;
// 循环遍历链表用的指针
struct Link *p;
?
// 依次存放 1、2、3、4、5
...
?
// 连成一个链表
...
?
// 循环遍历整个链表
p = head; //指针指向第一个结点
while ( p != NULL )
{
printf ( %4d, p-data ); // 输出结点中的数据
p = p-next; // 使指针指向下一个结点
}
思考题
请将链表按 5、4、3、2、1 连接起来,重新运行程序。
您可能关注的文档
- 第二节化学能与电能复习.doc
- 第五节有效教学行为的实现自测题.doc
- 第五六章习题金融市场金融机构体系.doc
- 第五讲函数方程不等式的思想(一).doc
- 第五课答案.doc
- 第八册信息技术.doc
- 第八单元金属和金属材料单元训练题.doc
- 第八次c语言作业.docx
- 第八章电气.doc
- 第六章三言与二拍.doc
- 分布式控制系统(DCS)系列:Schneider Electric EcoStruxure Foxboro DCS (煤炭工业应用)_6.操作员界面与HMI设计.docx
- 分布式控制系统(DCS)系列:Honeywell Experion PKS (煤炭工业应用)_5.人机界面HMI的设计与优化.docx
- 温度控制系统系列:Omron NX1P 温度控制模块_(8).温度控制系统的故障诊断与排除.docx
- 温度控制系统系列:Omron NX1P 温度控制模块_(10).NX1P与其他设备的通讯与集成.docx
- 温度控制系统系列:Mitsubishi MELSEC-Q 温度控制模块_(4).温度控制模块硬件结构与接口.docx
- 现场总线控制系统(FCS)系列:Beckhoff EtherCAT (煤炭工业应用)_5. EtherCAT系统架构与工作原理.docx
- 分布式控制系统(DCS)系列:Emerson DeltaV (煤炭工业应用)_(3).DeltaV系统的硬件组成.docx
- 温度控制系统系列:Omron NX1P 温度控制模块_(4).NX1P的工作原理与控制算法.docx
- 温度控制系统系列:Omron CJ2M 温度控制模块_(12).温度控制系统的安全与法规要求.docx
- 温度控制系统系列:Mitsubishi MELSEC-Q 温度控制模块_(9).温度控制应用案例分析.docx
文档评论(0)