Looking for c Keywords? Try Ask4Keywords

C LanguageZeiger


Einführung

Ein Zeiger ist ein Variablentyp, der die Adresse eines anderen Objekts oder einer Funktion speichern kann.

Syntax

  • <Datentyp> * <Variablenname>;
  • int * ptrToInt;
  • void * ptrToVoid; / * C89 + * /
  • struct someStruct * ptrToStruct;
  • int ** ptrToPtrToInt;
  • int arr [Länge]; int * ptrToFirstElem = arr; / * Für <C99 muss 'length' eine Kompilierungszeitkonstante sein, für> = C11 muss es möglicherweise eine sein. * /
  • int * arrayOfPtrsToInt [Länge]; / * Für <C99 muss 'length' eine Kompilierungszeitkonstante sein, für> = C11 muss es möglicherweise eine sein. * /

Bemerkungen

Die Position des Sterns hat keinen Einfluss auf die Bedeutung der Definition:

/* The * operator binds to right and therefore these are all equivalent. */
int *i;
int * i;
int* i;

Wenn Sie jedoch mehrere Zeiger gleichzeitig definieren, benötigt jeder einen eigenen Stern:

int *i, *j; /* i and j are both pointers */
int* i, j;  /* i is a pointer, but j is an int not a pointer variable */

Ein Array von Zeigern ist ebenfalls möglich, wobei ein Sternchen vor dem Namen der Array-Variablen steht:

int *foo[2]; /* foo is a array of pointers, can be accessed as *foo[0] and *foo[1] */

Zeiger Verwandte Beispiele