- 1、本文档共45页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言程序设计第7章结构体与链表结构体与函数
链表 例7-8 建立5个员工的链表,并对链表进行遍历、查找、插入和删除操作。 4、增加某个结点 s=(Employee*)malloc(sizeof(Employee)); s-ID=id; s-salary=sala; s-next=p-next; p-next=s; C语言程序设计 第7章 结构体与链表 第7章 结构体与链表 学习目的与要求: 理解并掌握结构体的定义和应用 掌握类型定义符typedef的使用方法 理解并掌握链表的定义与使用方法 了解共用体的定义及使用方法 了解枚举变量的使用方法 基本内容 链表 结构体 类型定义符typedef 本章小结 枚举类型 共用体 结构体 结构体是程序员根据需要定义的一种数据类型。组成结构体的数据称为结构体的成员,这些成员来共同描述一个相关的对象。 struct structureName{ type member1; type member2; … }; struct Person{ char name[20]; char sex; int age; int height; }; 结构体 由于结构体是程序设计者声明的一种数据类型,是对具体实例的抽象,所以在声明一个结构体时,不要实例化,即不要对成员赋初值。 struct Point { int x=0; //error 无法存储x. int y=0; //error }; 结构体 结构体成员除基本数据类型外,还可为指针或结构体类型。 struct Date{ int year; int month; int day; }; struct Person1{ char *name; //指针类型 struct Date birthday; //结构体类型 int height; }; 结构体类型变量的定义 (1)先定义结构体类型,再定义结构体变量。 struct Person ps1,ps2; (2)在定义一个结构体类型的同时,定义结构体变量。 struct Point{ int x; }pt; (3)直接定义结构体变量,省略结构体名称。 struct { int x; }pt; 结构体类型变量的定义 (1)结构体类型与结构体变量是两个不同的概念,只能对结构体变量赋值、存取或运算,但不能对结构体类型赋值、存取和运算。 (2)在编译时,系统根据结构体所有成员的大小只对变量分配存储空间,而声明类型时不分配空间。 (3)结构体类型中的成员名可以与程序中的变量名同名,但它们表示不同的对象。例如在结构体struct Person中的成员“age”与程序中的变量“age”名字相同,意义不同。 结构体成员的访问 结构体变量名.成员名 struct Point pt; pt.x=0; //给结构体变量pt的成员赋值 printf(x=%\n, pt.x); //输出x的值 结构体成员的访问 例7-1 对一个人的信息(姓名和生日)进行操作。 解题思路:首先定义生日结构体类型,包括出生年、月、日,再定义“人”的结构体类型,包括姓名和生日。定义“人”结构体变量,对其进行赋值并输出。 #includestdio.h #includestring.h struct Date{ int year; int month; int day; }; struct Person1 { char name[20]; struct Date birthday; }; struct Person1 ps1={Zhang,{1988,11,20}},ps2; printf(输入相关信息(姓名和出生年月日):\n); scanf(%s,ps1.name); //输入姓名 scanf(%d%d%d,ps1.birthday.year, ps1.birthday.month, ps1.birthday.day); ps2 =ps1; strcpy(ps2.name,李四); ps2.birthday.day+=8; printf(输出人的相关信息:\n); printf(姓名:%s\n生日:%d-%d-%d\n,ps1.name,ps1.birthday.year, ps1.birthday.month,ps1.birthday.day); printf(
您可能关注的文档
- 50年来水力机电研究领域发展与回顾-中国水利水电科学研究院学报.PDF
- 51大数定律依概率收敛序列的性质-西电个人主页.PPT
- 515咖啡豆的研磨.PPT
- 52废气排放标准-表面处理技术.DOC
- 521理想单色平面光波在晶体中的传播光线菲涅耳方程.PPT
- 52数字信号的最佳接收.PPT
- 52西门子LOGO!的20个常见问题解答.DOC
- 46销售发货.DOC
- 43制定生产计划.PPT
- 52热敏电阻与热电堆探测器.PPT
- 2025至2030年中国锅炉通用右夹板市场分析及竞争策略研究报告.docx
- 2025至2030年中国TPR童鞋底市场分析及竞争策略研究报告.docx
- 2025至2030年中国全金属角阀市场分析及竞争策略研究报告.docx
- 2025年三层保温抽屉项目市场调查研究报告.docx
- 2025年煤柴油项目市场调查研究报告.docx
- 2025年羊绒披肩项目市场调查研究报告.docx
- 2025年铝合金配线槽项目市场调查研究报告.docx
- 2025年水利工程行业技能考试-水利部质量检测员考试近5年真题集锦(频考类试题)带答案.docx
- 2025年中国冷却氨蒸发器数据监测研究报告.docx
- 2025年中国水产粘合剂数据监测研究报告.docx
文档评论(0)