主题:初学指针,望高手指导
万里长城
[专家分:340] 发布于 2007-09-07 19:55:00
刚学指针,听说很难,能初步的教我几句语句吗?
回复列表 (共6个回复)
沙发
abcwuhang [专家分:1840] 发布于 2007-09-08 22:28:00
定义:^类型,例如^integer.
例子:
tree:^list;
list:record
data:integer;
next:tree;
其实它的定义本身就是递归~~~~
板凳
风之落叶 [专家分:40] 发布于 2007-09-09 14:39:00
三步:
1、new(work);
i:=d;
head=work;
p=work
2.new(work)
z:=d
p^.next:=work
p:=work
3.writeln(p^.d)
p:=p^.next
3 楼
万里长城 [专家分:340] 发布于 2007-09-09 18:45:00
2楼能做一下说明吗?
4 楼
Matodied [专家分:7560] 发布于 2007-09-09 20:41:00
1楼实际上是定义链表的方法:
链表:就是含有2个或3个数据的线性表,其中倒数第2个是数据,剩下的是指针。
单链表的一个结点是这样的:
-------- --------
| data | next |
-------- --------
其中data是数据,next是指向后面一个结点的指针(最后一个结点的next是nil)
定义单链表的方法:
TYPE
list: ^poi;
poi: RECORD
dat: INTEGER;
next: list;
END;
定义双向链表的方法:
TYPE
list: ^poi;
poi: RECORD
pre: list;
dat: INTEGER;
next: list;
END;
5 楼
abcwuhang [专家分:1840] 发布于 2007-09-09 20:50:00
同意
6 楼
wtlrock [专家分:20] 发布于 2007-09-13 19:57:00
如:var p:^integer;new(p);
有两个很基本的问题要弄清楚:
1.p是指一个内存地址;
2.^p是指一个整数.
我来回复