[工学]结构体和指针.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[工学]结构体和指针

链表插入示例 按年龄由小到大的次序建立一个儿童信息链表,并输出链表中的数据 // childlist.h struct Child{ // 链表结点结构体 float height; float weight; int age; char gender; struct Child *next; }; typedef struct Child ChildNode; void inputChild( ChildNode* child ); ChildNode* createList( int n ); ChildNode* createSortedList( int n ); void printList( ChildList* child ); 链表插入示例 // childlist.c #include stdio.h #include stdlib.h void inputChild( ChildNode* child ) // 结点数据输入函数 { … } ChildNode* createList( int n ) // 生成链表 { … } void printList( ChildList* child ) // 输出链表 { … } 链表插入示例 ChildNode* createSortedList(int n) // 生成有序链表 { ChildNode *p, *q, *child; int i; child = (ChildNode*)malloc(sizeof(ChildNode)); // 头结点 child?next = NULL; // 初始化指针域 for( i = n; i 0; ??i ){ // 依次建立并向表头插入结点 p = (ChildNode *)malloc(sizeof(ChildNode)); // 创建结点 inputChild( p ); // 输入数据到新结点 q = child; // 查找新结点的插入位置 while( q?next != NULL p?age q?next?age ) q = q?next; p?next = q?next; q?next = p; // 插入新结点 } return child; } 链表插入示例 // main.c #include stdio.h #include stdlib.h #include “childlist.h” int main() { ChildNode *childList = NULL; int n; printf( “Number of children: “ ); scanf( “%d“, n ); childList = createSortedList( n ); // 构造有序链表 printList( childList ); } 链表删除操作 顺序存储结构中元素的删除 根据删除位置的不同,需要移动部分数据 平均需要移动一半长度的数据 链式存储结构中元素的删除 不需要移动元素,只需要修改链表指针 元素删除位置 表头、表中 链表表头删除 p = head; head = head-next; free( p ); 链表表中删除 p = head; while( p-next != NULL p-next-data != x ) p = p-next; q = p-next; p-next = q-next; free( q ); * C语言程序设计 结构体与指针 学习目标 掌握结构体的概念、语法和应用 学会用指针访问数组、结构体和函数 掌握动态存储分配方法 掌握单链表的概念和应用 1 结构体 结构体的意义 将不同数据类型的数据对象组织在一起 结构体的应用 结构体类型声明与结构体变量声明 结构体类型的嵌套 结构体变量的整体赋值与逐成员赋值 结构体作为函数参数:发生整个结构体的值拷贝操作 结构体嵌套示例 struct Date { int year; int month; int day; }; struct Child { float height; float weight; Date birthday; char gender; }; struct Child a; a.height = 0.99; a.birthday.year = 2000; a.birthday.month = 2; a.birthday.day = 14; if( a.height = 1.00 a.bi

文档评论(0)

ipbohn97 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档