capypad
0 Tage Serie
c / intermediate
Snippet

Zeigerarithmetik mit Arrays

In C zerfallen Array-Namen in Zeiger. Das Addieren eines Integers zu einem Zeiger bewegt den Zeiger um diese Anzahl von Elementen, nicht um Bytes.

snippet.c
c
1
2
3
4
int arr[] = {10, 20, 30};
int *ptr = arr;
 
int val = *(ptr + 2);
Erklärung
1
int *ptr = arr;
Weist dem Zeiger 'ptr' die Adresse des ersten Elements des Arrays zu.
2
ptr + 2
Berechnet die Adresse des Elements zwei Positionen weiter (das dritte Element).
3
*(ptr + 2)
Dereferenziert die berechnete Adresse, um den an dieser Stelle gespeicherten Wert (30) zu erhalten.