Einzelnen Beitrag anzeigen

Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#13

AW: Pointer: Zirkumflex Frage

  Alt 16. Sep 2010, 16:52
Was die Typdeklaration angeht, kann ich mich erinnern, daß zuerst alle "Namen" gesammelt werden, und dann erst diesen Namen die entsprechenden Typen zugewiesen werden.
also ungefähr so:
Delphi-Quellcode:
Type
 prec =^rectyp;
 rectyp = record..........end;

 rec =^record..........end;
 rectyp = record..........end;
Wenn man es mit dem zweiten Konstrukt versucht, bekommt man sofort die Meldung "Bezeicher erwartet" um die Ohren gehauen.
Was eigentlich hinreichend genau ist, ein Pointer weist immer auf einen beliebigen Typen hin.
Die sog. Typisierung ist eigentlich nur ein Schmankerl um ein paar Fehler zu vermeiden.

Für ein funktionierendes Programm ist so etwas durchaus ausreichend:
Delphi-Quellcode:
Type
  TListenelement = record
                     Daten : irgendwas;
                     next : pointer;
                     last : pointer;
                   end;
var
  ErstesElement,
  LetztesElement,
  AktuellesElement : pointer;
aber so ist es etwas einfacher:
Delphi-Quellcode:
Type
  PListenelement = ^TListenelement;
  TListenelement = record
                     Daten : irgendwas;
                     next : PListenelement;
                     last : PListenelement;
                   end;
var
  ErstesElement,
  LetztesElement,
  AktuellesElement : PListenelement;
Edith:
und dereferenzieren kann ich immer noch mit allen möglichen Typen!

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat