Heim > Artikel > Backend-Entwicklung > In welcher Reihenfolge werden zweidimensionale Arrays in der C-Sprache im Speicher gespeichert?
Die Speicherreihenfolge zweidimensionaler Arrays im Speicher ist Zeile für Zeile, das heißt, nachdem eine Zeile platziert wurde, wird die zweite Zeile platziert; das heißt, die Zeile „a[0]“ wird zuerst gespeichert dann wird die Zeile „a[1]“ gespeichert, und so weiter, bis die Elemente in jeder Zeile ebenfalls der Reihe nach gespeichert sind.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, c99-Version, Dell G3-Computer.
Die allgemeine Form einer zweidimensionalen Array-Definition ist:
dataType arrayName[length1][length2];
wobei dataType der Datentyp, arrayName der Array-Name, length1 die Länge des Index der ersten Dimension und length2 die Länge des Index der zweiten Dimension ist .
Wir können uns ein zweidimensionales Array als eine Excel-Tabelle vorstellen, wobei Zeilen und Spalten die Anzahl der Zeilen und die Länge2 die Anzahl der Spalten darstellen Spalten müssen angegeben werden. Zum Beispiel:
int a[3][4];
definiert ein zweidimensionales Array mit 3 Zeilen und 4 Spalten mit insgesamt 3×4=12 Elementen. Der Array-Name ist a, das heißt:
a[0][0], a[0][1], a[0][2], a[0][3] a[1][0], a[1][1], a[1][2], a[1][3] a[2][0], a[2][1], a[2][2], a[2][3]
Wenn Sie die Elemente darstellen möchten In Zeile 2 und Spalte 1 sollten Sie ein[2][1] schreiben.
Sie können sich ein zweidimensionales Array auch als Koordinatensystem mit einer x-Achse und einer y-Achse vorstellen. Um einen Punkt in einer Ebene zu bestimmen, müssen Sie sowohl die x-Achse als auch die y-Achse kennen.
Ein zweidimensionales Array ist konzeptionell zweidimensional, wird jedoch kontinuierlich im Speicher gespeichert. Mit anderen Worten: Die Elemente eines zweidimensionalen Arrays liegen nebeneinander und ohne Lücken zwischen ihnen. Wie speichert man zweidimensionale Arrays im linearen Speicher? Es gibt zwei Möglichkeiten:
Eine besteht darin, nach Zeilen zu ordnen, das heißt, nachdem eine Zeile platziert wurde, wird die zweite Zeile platziert; platziert wird, wird die zweite Zeile platziert.
Sie können es sich so vorstellen: Ein zweidimensionales Array besteht aus mehreren eindimensionalen Arrays gleicher Länge.
Zum Beispiel:Eine Lerngruppe besteht aus 5 Personen und jede Person hat Testergebnisse für 3 Kurse. Ermitteln Sie die durchschnittliche Punktzahl für jedes Fach und die durchschnittliche Gesamtpunktzahl der Gruppe.
--C | Englisch | Zhang Tao | |
75 | 92 | Wang Zhenghua. | |
65 | 71 | 李丽丽 | |
63 | 70 | Zhao Quanquan | |
87 | 90 | Zhou Mengzhen | |
77 | 85 | Für diese Frage, Sie kann a definieren Das zweidimensionale Array a[5][3] speichert die Punktzahlen von 5 Personen in 3 Kursen, definiert ein eindimensionales Array v[3] zum Speichern der durchschnittlichen Punktzahlen jedes Fachs und definiert dann einen variablen Durchschnitt um die durchschnittliche Gesamtpunktzahl zu speichern. Die endgültige Programmierung lautet wie folgt: |
Input score: 80 61 59 85 76 75 65 63 87 77 92 71 70 90 85↙ Math: 72 C Languag: 73 English: 81 Total: 75
Das Programm verwendet eine verschachtelte Schleife, um die Ergebnisse aller Schüler in allen Fächern zu lesen. In der inneren Schleife werden die Ergebnisse jedes Schülers in einem bestimmten Kurs nacheinander gelesen und diese Ergebnisse werden akkumuliert. Nach dem Verlassen der inneren Schleife (Eintreten in die äußere Schleife) werden die akkumulierten Ergebnisse durch 5 geteilt und an v[i] gesendet ] , das ist die durchschnittliche Punktzahl für den Kurs. Die äußere Schleife durchläuft insgesamt dreimal eine Schleife, berechnet die Durchschnittsnoten jedes der drei Kurse und speichert sie im Array v. Nachdem alle Schleifen abgeschlossen sind, addieren Sie v[0], v[1], v[2] und dividieren Sie durch 3, um die durchschnittliche Gesamtpunktzahl zu erhalten.
Verwandte Empfehlungen: „
C-Sprachvideo-Tutorial“
Das obige ist der detaillierte Inhalt vonIn welcher Reihenfolge werden zweidimensionale Arrays in der C-Sprache im Speicher gespeichert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!