指针和结构体:链表详解.ppt

  1. 1、本文档共91页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 11.10 用typedef 为类型定义新名字 除可直接使用C提供的标准类型和自定义的类型(结构、共用、枚举)外,也可使用typedef定义已有类型的别名。该别名与标准类型名一样,可用来定义相应的变量。 定义已有类型别名的方法如下: (1)按定义变量的方法,写出定义体; (2)将变量名换成别名; (3)在定义体最前面加上typedef。 * 11.10 用typeded 为类型定义新名字 任何已有的类型可以重新命名 typedef long integer; //将 long 重新命名为 integer,使得 integer 和 long 同等使用 可以和新类型定义一起定义名字 typedef int ARR[10] ; // 定义了一个数组名 ARR,它是具有10个元素的整型数组类型 typedef struct int num; float score; S; /*定义结构体别名为S*/ STUDENT stu1; * 讨论:typedef 和 #define 说明: (1)用typedef只是给已有类型增加1个别名,并不能创造1个新的类型。就如同人一样,除学名外,可以再取一个小名(或雅号),但并不能创造出另一个人来。 (2)typedef与#define有相似之处,但二者是不同的:前者是由编译器在编译时处理的;后者是由编译预处理器在编译预处理时处理的,而且只能作简单的字符串替换。 * struct TM int x,y; // 结构TM的成员,x,y为整数型 struct TM * next // 结构TM的成员,属TM型 下面的表是马的跳步方案,从左下角跳到右上角 结点 n1 n2 n3 n4 n5 n6 n7 x y 0 0 1 2 2 4 4 3 6 4 7 2 8 4 结构体与共体例子 * 8 4 NULL NULL为空地址 下面是形成链表的一个参考程序 2 4 n4 1 2 n3 0 0 n2 n1 head * // 结构1.c #include // 预编译命令 #define null 0 // 定义空指针常量 struct TM // 定义结构TM int x,y; // 整型变量x,y struct TM *next; // 指向TM结构的指针 ; void main // 主函数 // 主函数开始 int i; // 声明整型变量 // 声明TM结构n1~n7,结构指针head,p struct TM n1,n2,n3,n4,n5,n6,n7, * head, * p; * // 分别对TM结构n1~n7中的x,y赋值 n1.x 0;n1.y 0; n2.x 1;n2.y 2; n3.x 2;n3.y 4; n4.x 4;n4.y 4; n5.x 6;n5.y 4; n6.x 7;n6.y 2; n7.x 8;n7.y 4; // head赋值为n1,即head指向n1 head n1; // n1~n7构成链表 n1.next n2; n2.next n3; n3.next n4; n4.next n5; n5.next n6; n6.next n7; // n7的next指针赋值为空指针 n7.next null; * p head; // p赋值为head,即p指向head所指的内容 i 1; // i赋值为1 do // 直到型循环 // 循环体开始 // 输出结点信息 printf 结点%d: x %d, y %d\n,i,p- x,p- y ; p p- next; // p指向下一个结点 i i+1; // 计数加1 while p! null ; // 未到达链表尾部,则继续循环 // 主函数结束 * 用结构数组,利用键盘输入结点中的数据。重点看 scanf “%d”,a ; n[i].x a; 结构数组,数组中的元素为结构类型的数据,如n[8] // 结构2.c #include // 预编译命令 #define null 0 // 定义空指针常量 struct TM // 定义TM结构 int x,y; // 整型变量x,y struct TM *next; // 指向TM结构的指针 ; * void main // 主函数 // 主函数开始 i

文档评论(0)

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

1亿VIP精品文档

相关文档