- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
TechEd 2002 第十章 结构 一、概述 一、概述 二、结构体类型声明 三、定义结构体类型变量 三、定义结构体类型变量 三、定义结构体类型变量 三、定义结构体类型变量 三、定义结构体类型变量 三、定义结构体类型变量 三、定义结构体类型变量 三、定义结构体类型变量 四、结构体变量的引用 四、结构体变量的引用 四、结构体变量的引用 四、结构体变量的引用 四、结构体变量的引用 四、结构体变量的引用 四、结构体变量的引用 一、引出 二、定义结构体数组 二、定义结构体数组 三、结构体数组的初始化 三、结构体数组的初始化 三、结构体数组的初始化 四、结构体数组应用举例 四、结构体数组应用举例 四、结构体数组应用举例 四、结构体数组应用举例 四、结构体数组应用举例 一、指向结构体变量的指针 一、指向结构体变量的指针 一、指向结构体变量的指针 一、指向结构体变量的指针 一、指向结构体变量的指针 一、指向结构体变量的指针 二、指向结构体数组的指针 二、指向结构体数组的指针 二、指向结构体数组的指针 二、指向结构体数组的指针 二、指向结构体数组的指针 二、指向结构体数组的指针 二、指向结构体数组的指针 三、作函数参数 三、作函数参数 三、作函数参数 三、作函数参数 三、作函数参数 三、作函数参数 三、作函数参数 一、链表概述 一、链表概述 一、链表概述 二、简单链表 二、简单链表 二、简单链表 三、处理动态链表所需的函数 三、处理动态链表所需的函数 三、处理动态链表所需的函数 四、建立动态链表 四、建立动态链表 四、建立动态链表 四、建立动态链表 四、建立动态链表 四、建立动态链表 四、建立动态链表 四、建立动态链表 四、建立动态链表 四、建立动态链表 四、建立动态链表 四、建立动态链表 五、输出链表 五、输出链表 五、输出链表 六、对链表的删除操作 六、对链表的删除操作 六、对链表的删除操作 一、共用体的概念 一、共用体的概念 一、共用体的概念 二、共用体变量的引用方式 三、共用体类型数据的特点 三、共用体类型数据的特点 三、共用体类型数据的特点 一、用处 一、用处 二、方法 三、举例 四、说明 四、说明 § 10.4 用指针处理链表 § 10.4 用指针处理链表 算法的实现: 再开辟另一个结点并使p1指向它,接着输入该结点的数据. 如果输入的p1-num≠0,则应链入第2个结点(n=2), 将新结点的地址赋给第一个结点的next成员. 接着使p2=p1,也就是使p2指向刚才建立的结点 § 10.4 用指针处理链表 § 10.4 用指针处理链表 算法的实现: 再开辟一个结点并使p1指向它,并输入该结点的数据. 在第三次循环中,由于n=3(n≠1),又将p1的值赋给p2-next,也就是将第3个结点连接到第2个结点之后,并使p2=p1,使p2指向最后一个结点. § 10.4 用指针处理链表 § 10.4 用指针处理链表 算法的实现: 再开辟一个新结点,并使p1指向它,输入该结点的数据。由于p1-num的值为0,不再执行循环,此新结点不应被连接到链表中. 将NULL赋给p2-next. 建立链表过程至此结束,p1最后所指的结点未链入链表中,第三个结点的next成员的值为NULL,它不指向任何结点。 § 10.4 用指针处理链表 § 10.4 用指针处理链表 建立链表的函数如下: #include stdio.h #include malloc.h #define NULL 0 //令NULL代表0,用它表示“空地址” #define LEN sizeof(struct student) //令LEN代表struct //student类型数据的长度 struct student { long num; float score; struct student *next; };int n; //n为全局变量,本文件模块中各函数均可使用它 § 10.4 用指针处理链表 struct student *creat() {struct student *head; struct student *p1,*p2; n=0; p1=p2=( struct student*) malloc(LEN); scanf(%ld,%f,p1-num,p1-score); head=NULL; while(p1-num!=0) { n=n+1;
文档评论(0)