Pointers 用Pascal指针组成单词的程序。找不到错误

Pointers 用Pascal指针组成单词的程序。找不到错误,pointers,dynamic,pascal,Pointers,Dynamic,Pascal,我已经写了一个程序,用指针和动态数据结构组成单词 但它不工作,并且在第19行显示错误(元素未在指针类型中声明)。请帮助我完成它。 我将不胜感激 program pointers; type zv = ^pointer; pointer = record element : char; next : zv; end; var vlan : zv; {separate element} vslov : zv; { pointer for word }

我已经写了一个程序,用指针和动态数据结构组成单词

但它不工作,并且在第19行显示错误(元素未在指针类型中声明)。请帮助我完成它。 我将不胜感激

program pointers;

type
  zv = ^pointer;

  pointer = record
    element : char;
    next : zv;
  end;

var
  vlan : zv;  {separate element}
  vslov : zv;  { pointer for word }
  symbol : char;

begin
  readln(symbol);
  new(vslov);

  vslov^.element := symbol;
  vslov^.next := nil;
  vlan := vslov;

  while symbol <> '.' do
    begin
      read(symbol);
      new(vlan^.next);
      vlan := vlan^.next;
      vlan^.element := symbol;
      vlan^.next := nil;
    end;
end.
程序指针;
类型
zv=^指针;
指针=记录
元素:char;
下一步:zv;
结束;
变量
vlan:zv;{独立元素}
vslov:zv;{单词指针}
符号:字符;
开始
readln(符号);
新的(vslov);
vslov^.元素:=符号;
vslov^.next:=nil;
vlan:=vslov;
而符号“.”则
开始
读(符号);
新建(vlan^下一个);
vlan:=vlan^.next;
vlan^.元素:=符号;
vlan^.next:=nil;
结束;
结束。

指针
是预定义的类型名称。它是用于表示非类型指针的类型。所以
zv
是指向指针的指针。并且预定义的类型
指针
不是记录,因此不能与成员访问操作符
一起使用


通过为记录类型选择其他名称来解决此问题

我推荐这篇文章来学习如何调试小程序: