11.4 Anzahl der Elemente eines Arrays ermitteln
Wie lässt sich die Anzahl der Elemente eines Arrays ermitteln? Dies kann mit dem sizeof-Operator realisiert werden, den Sie bereits kennengelernt haben. Mit ihm lässt sich die Größe eines Datentyps in Byte ermitteln. Folgendes Array soll als Beispiel dienen:
int zahlen[] = { 3,6,3,5,6,3,8,9,4,2,7,8,9,1,2,4,5 };
Jetzt soll der sizeof-Operator auf dieses Array angewendet werden:
/* array8.c */ #include <stdio.h> #include <stdlib.h> int main(void) { int zahlen[] = {3,6,3,5,6,3,8,9,4,2,7,8,9,1,2,4,5}; printf("Anzahl der Elemente: %d\n", sizeof(zahlen)); return EXIT_SUCCESS; }
Bei der Ausführung des Programms erhalten Sie auf einem 16-Bit-System als Ergebnis den Wert 34 und auf einem 32-Bit-System den Wert 68. Dass dieser Wert nicht der Anzahl der Elemente entspricht, ist leicht nachvollziehbar. Der Wert 34 bzw. 68 stellt in diesem Beispiel zunächst nur die Größe des Arrays in Byte dar. Damit die Anzahl der Elemente bestimmt werden kann, muss dieser Wert durch die Größe des Array-Datentyps geteilt werden:
/* array9.c */ #include <stdio.h> #include <stdlib.h> int main(void) { int zahlen[] = {3,6,3,5,6,3,8,9,4,2,7,8,9,1,2,4,5}; printf("Anz. Elemente : %d\n", sizeof(zahlen) / sizeof(int)); return EXIT_SUCCESS; }
Damit haben Sie die richtige Anzahl der Elemente (17) ermittelt.
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.