C-Programmierung

Arrays und Zeiger

Zeichenkettenmanipulation | | Zeigerarithmetik

Arrays sind implizite Zeiger, das bedeutet:

  • Bei der Deklaration eines Arrays int a[n] ist das Array, d.h. der Ausdruck “a”, vom Typ int *a und der Wert von “a” ist die Adresse des ersten Elements, d.h. die Anfangsadresse des Arrays.
  • Bei der Dereferenzierung des Arrays a via *a erhält man daher den Wert des ersten Elements.
a ist ein Zeiger und nicht der gesamte Arrayinhalt
a[0] und *a sind äquivalent!

Q Was läuft schief bei: a=0

Die Adresse eines Arrays ist eine Konstante und nicht veränderbar!

Q AbkĂĽrzung fĂĽr Elementzahl?

sizeof(array)/sizeof(*array)

#define elementsof(a) (sizeof(a)/sizeof(*a))


Zeichenkettenmanipulation | | Zeigerarithmetik

Options: