回 帖 发 新 帖 刷新版面

主题:初学指针,望高手指导

刚学指针,听说很难,能初步的教我几句语句吗?

回复列表 (共6个回复)

沙发

定义:^类型,例如^integer.
例子:
tree:^list;
list:record
  data:integer;
  next:tree;
其实它的定义本身就是递归~~~~

板凳

三步:
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 楼

2楼能做一下说明吗?

4 楼

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 楼

同意

6 楼

如:var p:^integer;new(p);
有两个很基本的问题要弄清楚:
1.p是指一个内存地址;
2.^p是指一个整数.

我来回复

您尚未登录,请登录后再回复。点此登录或注册