Methode: 1. Weisen Sie beim Definieren eines Arrays allen Elementen Anfangswerte zu, zum Beispiel „int a[5]={1,2,3,4,5}“ 2. Weisen Sie einigen Elementen Werte zu Elemente, zum Beispiel „int a[5]={1,2}“ 3. Geben Sie beim Definieren nicht die Array-Länge an, sondern weisen Sie allen Elementen direkt Anfangswerte zu, zum Beispiel „int a[]={1, 2,3,4,5}".
Die Betriebsumgebung dieses Tutorials: Windows 7-System, c99-Version, Dell G3-Computer.
Array-Initialisierung
Die Initialisierung des Arrays kann mit den folgenden Methoden erreicht werden:
1) Weisen Sie beim Definieren des Arrays allen Elementen Anfangswerte zu, was als „vollständige Initialisierung“ bezeichnet wird. . Zum Beispiel:
rrreeDurch Platzieren der Anfangswerte der Array-Elemente in geschweiften Klammern wird a[0]=1 a[1]=2; 3] =4; a[4]=5, d. h. jedem Element der Reihe nach von links nach rechts zugewiesen. Es ist zu beachten, dass während der Initialisierung jedes Element durch Kommas und nicht durch Semikolons getrennt wird.
2) Sie können nur einem Teil der Elemente Werte zuweisen Dies wird als „unvollständige Initialisierung“ bezeichnet. Beispiel: Das durch
int a[5] = {1, 2, 3, 4, 5};
definierte Array a hat 5 Elemente, aber innerhalb der geschweiften Klammern werden nur zwei Anfangswerte bereitgestellt. Dies bedeutet, dass nur die ersten beiden Elemente a[0] und a[1] initialisiert werden Die letzten drei Elemente sind alle initialisiert. Nicht initialisiert. Bei unvollständiger Initialisierung werden nicht initialisierte Elemente automatisch auf 0 gesetzt.
Es ist zu beachten, dass sich „unvollständige Initialisierung“ von „überhaupt nicht initialisiert“ unterscheidet. Wenn „überhaupt nicht initialisiert“ ist, d. h. nur „int a[5];“ ohne Initialisierung definiert wird, ist der Wert jedes Elements nicht 0 und alle Elemente sind Müllwerte.
Sie können auch nicht „int a[5]={};“ schreiben. Wenn Sie nichts in die geschweiften Klammern schreiben, handelt es sich um einen schwerwiegenden Grammatikfehler. In den geschweiften Klammern muss mindestens eine Zahl stehen. Beispielsweise dient „int a[5]={0};“ dazu, das Array zu „löschen“. Zu diesem Zeitpunkt ist jedes Element im Array Null. Wenn außerdem die Länge des definierten Arrays kleiner ist als die Anzahl der in geschweiften Klammern angegebenen Anfangswerte, liegt ebenfalls ein Syntaxfehler vor, z. B. „a[2]={1, 2, 3, 4, 5“. };".
3) Wenn Sie bei der Definition des Arrays allen Elementen im Array Anfangswerte zuweisen, müssen Sie die Länge des Arrays nicht angeben, da die Anzahl der Elemente zu diesem Zeitpunkt bereits festgelegt wurde. Wir verwenden diese Schreibweise häufig beim Programmieren, weil sie praktisch ist, keine Probleme auftreten und wir nicht berechnen müssen, wie viele Elemente vorhanden sind. Das System weist automatisch Speicherplatz zu. Zum Beispiel:
int a[5] = {1, 2};
kann geschrieben werden als:
int a[5] = {1, 2, 3, 4, 5};
In den geschweiften Klammern der zweiten Schreibweise stehen 5 Zahlen, sodass das System die Länge des Arrays a automatisch als 5 definiert. Bitte beachten Sie jedoch, dass Sie dies nur bei der Initialisierung des Arrays schreiben können, wenn Sie es definieren. Wenn ein Array ohne Initialisierung definiert wird, ist das Weglassen der Länge des Arrays ein Syntaxfehler. Beispiel:
int a[] = {1, 2, 3, 4, 5};
Dann wird während der Kompilierung ein Fehler angezeigt und der Compiler weist Sie darauf hin, dass die Länge des Arrays nicht angegeben ist.
Lassen Sie mich ein einfaches Programm für Sie schreiben:
int a[];
Das Ausgabeergebnis ist:
# include <stdio.h> int main(void) { int a[5] = {1, 2, 3, 4, 5}; int i; for (i=0; i<5; ++i) { printf("%d\n", a[i]); } return 0; }
a stellt den Namen des Arrays dar, [5] stellt dar, dass das Array 5 Elemente hat, und verwendet a[0] und a[ 1] bzw. a[2], a[3], a[4] bedeutet. Und weisen Sie den Variablen a[0], a[1], a[2], a[3] bzw. a[4] die Zahlen 1, 2, 3, 4 und 5 in den geschweiften Klammern zu. Auch hier beginnen die Indizes bei 0, a[0], nicht a[1].
Sie können scanf auch verwenden, um das Array manuell über die Tastatur zu initialisieren:
1 2 3 4 5
Das Ausgabeergebnis lautet:
# include <stdio.h> int main(void) { int a[5] = {0}; //数组清零初始化 int i; printf("请输入5个数:"); for (i=0; i<5; ++i) { scanf("%d", &a[i] ); } for (i=0; i<5; ++i) { printf("%d\x20", a[i]); } printf("\n"); return 0; }
Es unterscheidet sich von der Verwendung von scanf zur Eingabe einer Zeichenfolge in ein Zeichenarray. Bei der Eingabe von Zahlen müssen Sie verwenden eine for-Schleife zur Eingabe. Bei der Eingabe einer Zeichenfolge ist keine Schleife erforderlich. Verwenden Sie einfach scanf.
Verwandte Empfehlungen: „C-Sprachvideo-Tutorial“
Das obige ist der detaillierte Inhalt vonSo initialisieren Sie ein Array in der Sprache C. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!