* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 11.1 结构体 11.1.4 函数间结构体数据的传递 【例】编制一个复数乘法函数,采用传递指针 的方法达到传送数据的目的。 struct complex { float re,im;}; void multiplier(struct complex *px, struct complex *py, struct complex *pz) { pz-re=px-re*py-re-px-im*py-im; pz-im=px-re*py-im+px-im*py-re; } 形参定义为指针型参数。函数调用时,实参传递的是结构体指针(地址),因此形参px、py可读取主调函数中变量的内容,乘积结果也可通过形参pz指针存到主调函数中的目标变量。这样实参与形参之间的数据传递由多值(每个成员的值)变成了单值(结构体变量的首地址)。 哨镊亚隆状赘雍侯强锰腔轿命磋通莽匈盛资莫世怖霖膀辆浩邹玖唬硫汇忽Ch11 结构体与共用体Ch11 结构体与共用体 * * 11.1 结构体 11.1.4 函数间结构体数据的传递 main( ) { struct complex x, y, z; x.re=3.2; x.im=1.5; y.re=2.7; y.im=4.6; multiplier(x,y,z); printf((%f+%fi)*(%f+%fi)=%f+%fi\n,x.re,x.im, y.re, y.im, z.re, z.im); } 网潞确勋心细哈滨指缴雪搏咕旺鞭宣伯茄垫撼庐芹垣醇仔鹰匡侈衣凹聂朝Ch11 结构体与共用体Ch11 结构体与共用体 * * 链表是一种动态数据结构,可根据需要动态地分配存储单元。在数组中,插入或删除一个元素都比较繁琐,而用链表则相对容易。但是数组元素的引用比较简单,对于链表中结点数据的存取操作则相对复杂。 11.1 结构体 11.1.5 结构体的应用——链表 ① 链表中每个元素称为一个结点。 ② 构成链表的结点必须是结构体类型数据。 1. 链表的基本结构 head 1000 1032 3284 1296 1382 2008 动态单向链表示意图 C 3284 H 1296 A 1382 I 2008 N NULL 1000 1032 ③ 相邻结点的地址不一定是连续的,依靠指针将 它们连接起来。 struct node {char c; struct node *next; }; 祁法酪味篆轴檬腑肥窒舞欠铲书厅酥彩博栅犹梧卜移肚掉肠载快郭疤隐模Ch11 结构体与共用体Ch11 结构体与共用体 * * C语言提供了相关的存储管理库函数。这里仅介绍其中三个,它们的原型说明在“stdlib.h”头文件和“malloc.h”头文件中,使用这三个函数时,应选择其中一个头文件包含到源程序中。 ⑴ 动态分配存储区函数malloc( ) 函数原型:void *malloc(unsigned size); 调用格式:malloc(size) 功能:在内存分配一个size字节的存储区。调用 结果为新分配的存储区的首地址,是一个void 类型指针。若分配失败,则返回NULL(即0)。 11.1 结构体 11.1.5 结构体的应用——链表 2. 动态分配和释放存储单元 在ANSI C标准中,关键字void有两种用法。 第一种用法,可将无返回值的函数定义为void类型 第二种用法,用void * 定义指针,这是一个指向 非具体数据类型的指针,称为无类型指针。 僚去揩腐菩台塘具戏娠榆释备隐比顷叮衔潍堡所们揖初橇僳距淀童碍旱喘Ch11 结构体与共用体Ch11 结构体与共用体 * * 【例】调用malloc函数分配所需存储单元。 #include stdlib.h main( ) { struct st { int n; struct st *next; }*p; p=(struct st *)malloc(sizeof(struct st)); p-n=5; p-next=NULL; pr
您可能关注的文档
- 第九章 视图、索引和数据完整性.ppt
- 英语四六级使用率最高的580个词汇.doc
- 考研冲刺阶段调整备考心态和谐人际关系很重要.doc
- 2011年12英语四级词汇备考.doc
- 用于完型和阅读比较薄弱的朋友, 哥哥我就是用了这个很快就提高起来.doc
- 高考英语阅读理解高频难词.doc
- 单词对比记忆.doc
- 英语四级必备! 2011四级冲刺需牢记的700核心词汇.doc
- CET4英语四级必备高频词汇.doc
- 高考英语复习资料大全提纲阅读理解高频词语作文万能模版句子短语.doc
- 2025广东广州市天河区拟招聘英语实习老师1人备考题库附答案.docx
- 2025广东广州市天河区城市管理第二保洁所招聘编外工作人员4人笔试备考试卷附答案解析.docx
- 2025广东广州市越秀区流花街道办事处招聘综合事务中心辅助人员1人笔试历年题库附答案解析.docx
- 2025广东广州市花都区新雅街清初级中学招聘临聘教师1人备考历年题库带答案解析.docx
- 2025广东广州市天河区城市管理第二保洁所招聘编外工作人员4人笔试备考试卷带答案解析.docx
- 江苏省盐城市东台市三仓镇区中学2026届八年级数学第一学期期末教学质量检测试题含解析.doc
- 2025广东广州市天河区城市管理第二保洁所招聘编外工作人员4人备考题库带答案解析.docx
- 江苏省盐城市亭湖区2026届数学八上期末考试试题含解析.doc
- 安徽省蚌埠市淮上区2026届数学八年级第一学期期末达标检测模拟试题含解析.doc
- 2025广东广湛城旅游轮有限公司招聘备考历年题库附答案解析.docx
最近下载
- 一次函数竞赛试题0.doc VIP
- 公司经营班子会议议事规则.pdf VIP
- 2025年全国中考历史真题分类汇编.docx VIP
- 医用控温仪产品技术要求参考版.pdf
- 2025年中考历史全国真题分类汇编:世界现代史.doc VIP
- 14G443:预制带肋底板混凝土叠合楼板 .docx VIP
- 高考调频考点(圆锥曲线)7、椭圆、双曲线的坐标版焦半径公式.pdf VIP
- 2023年山东水利职业学院单招综合素质考试试题及答案解析.docx VIP
- 2023年山东水利职业学院单招考试综合素质模拟试题及答案解析.docx VIP
- 福建省宁德市2024-2025学年八年级上学期期末考试历史试题.pdf VIP
原创力文档

文档评论(0)