Eine Einführung in Arrays in C
Ein Array ist eine Datenstruktur, die verwendet wird, um sequentielle Elemente desselben Datentyps zu speichern. Die Position eines Elements in der Sequenz wird als Index bezeichnet. Indizes beginnen von 0 bis (n-1).
In diesem Artikel erfahren Sie, wie Sie Arrays in C verwenden. Die meisten der hier vorgestellten Konzepte passen zu den meisten anderen Programmiersprachen, also achten Sie darauf, sie zu beachten.
Definieren von Arrays
Um ein Array zu definieren, schreiben Sie seinen Datentyp gefolgt vom Arraynamen und eckigen Klammern:
int age[8];
In den eckigen Klammern steht die erwartete Anzahl von Datenelementen, die das Array empfängt. Wenn Sie zwei Arrays gleichzeitig deklarieren müssen, können Sie dies wie folgt tun. Es ist erwähnenswert, dass die separate Deklaration der bevorzugte Weg ist.
int age[8], height[8];
Es ist auch möglich, ein Array wie folgt zu deklarieren:
int[8] age;
Die obige Syntax würde bedeuten, dass age ein Zeiger auf ein Array vom Typ int ist . Obwohl Sie die "Zeiger-Syntax" verwenden können, wird die erste bevorzugt.
Manchmal wissen Sie möglicherweise nicht, wie viele Elemente Ihr Array haben soll. In einem solchen Fall müssten Sie das Array ohne die Anzahl der Elemente deklarieren. Siehe das Beispiel unten:
int age[];
Operationen auf Arrays
Um auf ein Array-Element zu verweisen, schreiben Sie den Array-Namen gefolgt von seinem Index in eckigen Klammern (zB age[5] ). Sie können auch Variablen innerhalb der eckigen Klammern verwenden:
age[x+y]
Sie müssen sicherstellen, dass die Berechnung dieser Variablen im Bereich 0 bis (n-1) liegt. Andernfalls erhalten Sie einen Kompilierungsfehler.
Initialisierung
Array-Elemente können bei der Deklaration oder später im Programm angegeben werden. Diese Aktion wird als Initialisierung bezeichnet, da das Array anfänglich Nullwerte enthält.
Siehe das Beispiel unten. Es gibt den Wert eines Elements und seinen Index im Array aus. Zeile 5 verwendet eine Initialisierungsliste, um das Integer-Array zu initialisieren.
#include <stdio.h>
int main(void) {
printf("%s%11s
", "Element", "Value");
int n[4] = {1, 4, 9, 16};
// output array elements in tabular format
for (size_t i = 0; i < 4; ++i) {
printf("%5u%10d
", i, n[i]);
}
}
Ausgabe :
Element Value
0 1
1 4
2 9
3 16
Verwenden von Arrays zum Speichern von Strings
Arrays können auch verwendet werden, um Strings zu speichern, nicht nur ganze Zahlen. Denken Sie bei dieser Verwendung daran, für jedes Element in der Initialisierungsliste einfache Anführungszeichen einzufügen.
char fruit[]= ['b', 'e', 'r', 'r', 'y', ' ' ];
Beachten Sie, dass der Datentyp char verwendet wird. Ein String-Literal besteht eigentlich aus einzelnen Zeichen, und deshalb sehen Sie char .
Das gezeigte Array endet mit einer Escape-Sequenz ( ). Dies ist ein Zeichen zum Beenden von Zeichenfolgen, das als Nullzeichen bezeichnet wird. Sie müssen dies beim Initialisieren einer Array-Liste immer einschließen.
Es gibt tatsächlich eine einfachere Möglichkeit, ein Zeichenarray zu initialisieren. Wir haben zuerst den ersten Ansatz gezeigt, damit Sie wissen, dass ein Zeichenarray immer ein spezielles Endzeichen ( ) hat. Es ist ein häufiger Fehler für Programmieranfänger, die Array-Größe um eins zu verringern und das letzte Element ( ) zu vergessen.
char string1[5] = "Code";
Angenommen, Sie müssen Benutzereingaben abrufen und in einem Array speichern. Dazu können Sie die Standardbibliotheksfunktion scanf verwenden .
Sie müssen jedoch die Anzahl der Zeichen angeben, die die Funktion erwarten soll. Dies liegt daran, dass scanf die Array-Größe nicht überprüft und möglicherweise Daten an Adressen außerhalb des Arrays schreibt, was zu einem Pufferüberlauf führt.
Verwenden Sie den Konvertierungsspezifizierer %s , um die maximal erwartete Eingabe zu definieren. Die Funktion scanf liest alle eingegebenen Zeichen, bis Leerzeichen, Tabulatoren, Zeilenumbrüche oder ein Dateiende-Indikator gefunden werden.
Ihre C-Programmierung voranbringen
Die Ressourcen, die Sie zum Lernen verwenden, sind ebenso entscheidend wie Ihr Lerneifer. Lernen ohne gute Praxis wird Ihre Programmierreise zu einer Herausforderung machen.
C ist eine besonders schwierig zu erlernende Sprache, da sie nicht objektorientiert ist. Glücklicherweise haben wir viele Ressourcen, die Ihnen beim Beherrschen der C-Programmierung helfen.