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))