Grundlagen der Arrays für C-Programmierung

Ein Feld in der Programmiersprache C ist Reihe von Variablen des gleichen Typs: ein Dutzend int Variablen, zwei oder drei Doppel Variablen oder einer Reihe von char-Variablen. Das Array enthält nicht alle die gleichen Werte. Nein, es ist mehr wie eine Reihe von cubbyholes, in dem Sie verschiedene Werte bleiben.

Ein Array wird wie jede andere Variable deklariert. Es ist eine Art und einen Namen gegeben und dann auch eine Reihe von eckigen Klammern. Die folgende Anweisung deklariert die Highscore-Array:

int Highscore [] -

Diese Erklärung ist incomplete- der Compiler noch nicht weiß, wie viele Elemente, oder Elemente, in dem Array sind. Wenn also die Highscore-Array drei Elemente zu halten, würde es wie folgt erklärt werden:

int Highscores [3] -

Dieses Array enthält drei Elemente, von denen jeder seinen eigenen int-Wert. Die Elemente werden wie folgt zugegriffen:

Highscores [0] = 750-Highscore [1] = 699-Highscore [2] = 675-

Ein Array-Element wird durch seine Indexnummer in eckigen Klammern bezeichnet. Der erste Punkt ist der Index 0, das etwas, das Sie haben sich daran zu erinnern. In C, beginnen Sie bei 0 zu zählen, was seine Vorteile hat, so glaube nicht, es ist dumm.

Im obigen Beispiel ist das erste Array-Element, Highscores [0], wird der Wert zugewiesen 750- das zweite Element, 699- und die dritte, 675.

Nach der Initialisierung wird eine Array-Variable wie jede andere Variable in Ihrem Code verwendet:

var = Highscore [0] -

Diese Anweisung speichert den Wert des Array-Elements Highscore [0] bis Variable var. Wenn Highscore [0] gleich 750 ist, ist var bis 750 nach der Ausführung der Anweisung gleich.

HOCHCORES, die Schreckliche VERSION

# include int main () {int highscore1, highscore2, highscore3-printf ( "Deine höchste Punktzahl:") -scanf ( "% d", highscore1) -printf ( "Ihre zweithöchste Punktzahl:") -scanf ( "% d "highscore2) -printf (" Ihre dritte höchste Punktzahl: ") -scanf ("% d ", highscore3) -puts (" Hier sind Ihre High Scores ") - printf (" # 1% d n ", highscore1) -printf ( "# 2% d n", highscore2) -printf ( "# 3% d n", highscore3) -return (0) -}

Übung 1: Geben Sie den Quellcode von High Scores, die schreckliche Version, eine vierte High-Score-Zugabe und unter Verwendung eines Arrays - aber bedenken Sie, dass Ihr Array vier Werte hält, nicht drei.

Viele Lösungen existieren für Übung 1. Die Brute-Force-Lösung hat man jedes Array variable Füllung einzeln, Zeile für Zeile, ähnlich dem Quellcode in High Scores, die schreckliche Version. Eine bessere, interessante Lösung wird in High Scores, eine bessere Version angeboten.

HOCHCORES, eine bessere Version

# include int main () {int Highscore [4] -int x-for (x = 0-XLT; 4-x ++) {printf ( "Ihr #% d Score:" x + 1) -scanf ( "% d "Highscore [x]) -} puts (" Hier sind Ihre High Scores ") - für (x = 0-XLT; 4-x ++) printf (" #% d% d n ", x + 1, Highscores [ x]) - return (0) -}

Der größte Teil des Codes von High Scores, eine bessere Version sollte Ihnen vertraut sein, wenn auch das neue Array-Notation. Die x + 1 Argumente in der printf () Anweisungen (Zeilen 10 und 16) können Sie die zu verwenden x seinen Wert Variable in der Schleife, sondern zeigen statt 0 beginnend mit 1 Obwohl C bei 0 beginnen mag Nummerierung, lieber beginnen Menschen immer noch auf 1.

Übung 2: Geben Sie den Quellcode von High Scores, eine bessere Version in Ihren Editor und ein neues Projekt aufzubauen. Starte es.

Obwohl die Ausgabe des Programms ziemlich das gleiche wie das Ausgangssignal in Aufgabe 1, so ist das Verfahren wesentlich effizienter, als bewiesen durch Exercise Arbeits 3:

Übung 3: Ändern Sie den Quellcode von High Scores, eine bessere Version, so dass die Top-Ten-Werte eingegeben werden und angezeigt.

Stellen Sie sich vor, wie Sie die Antwort auf Übung 3 zu kodieren würde, wenn Sie nicht gewählt haben Arrays zu verwenden!

  • Das erste Element eines Arrays ist 0.

  • Wenn ein Array deklarieren, verwenden Sie die volle Anzahl der Elemente, wie zum Beispiel 10 für zehn Elemente. Auch wenn die Elemente von 0 bis 9 indiziert sind, müssen Sie noch 10 angeben, wenn die Größe des Arrays zu deklarieren.

Menü