Vereinbarung von Zeigern

Bislang griffen wir stets direkt auf Variablen zu, d.h., es war nicht von Interesse, wo die Daten im Speicher abgelegt sind. Ein neuer Variablentyp, der Pointer (Zeiger), speichert Adressen unter Berücksichtigung des dort abgelegten Datentyps.

Sei der Zeiger auf ein Objekt vom Typ int mit p bezeichnet, so ist

int *p;

dessen Deklaration, oder allgemein wird durch

[speicherklasse] <typ> *<bezeichner>;

ein Zeiger auf den Datentyp <typ> definiert. So können die folgenden Zeigervariablen definiert werden

//        Pointer declaration
{ 
 struct Student
  {
    ...
  };
 
 char            *cp;           // pointer on char
 int          x, *px;           // int-variable, pointer on int
 float           *fp[20];       // array of 20 pointers on float
 float           *(fap[10]);    // pointer on array of 10 float
 Student         *ps;           // pointer on structure Student
 char           **ppc;          // pointer on pointer of char 
}

gesamtes Programm