Twitter und Facebook-Anbindung
X
Tweet Follow @twitterapi
!!! Anbindung an twitter und facebook öffnen !!!

Wenn Ihnen mein Online-Buch gefällt,
dann bedanken Sie sich doch mit einer kleinen Spende...

8.3 Statische Felder

8.3 Statische Felder

Mit Felder bzw. Arrays ist es möglich, mehrere Werte gleichen Typs zusammenzufassen. Auf jene kann dann, mittels eines s.g. Index, zugegriffen werden. Dabei ist Wichtig, dass der erste Index immer die 0 ist.

Das Schema sieht so aus: <VariablentypDerElemente> <Feldname>[[<AnzahlDerElemente>]]

Die Veranschaulichung eines Arrays an einem Zug

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
						
int aZug[5];	// Definition eines Arrays mit 5 Integer-Elementen

aZug[0] = 143;
aZug[1] = 834;
aZug[2] = 63;
aZug[3] = 6546;
aZug[4] = 42;  

// Durchlaufe das Array
for (int iWagonZaehler=0; iWagonZaehler<5; iWagonZaehler++) {
        printf("Wagon %i: %i\n", iWagonZaehler, aZug[iWagonZaehler]);
} // end of for
						

Ausgabe:

Wagon 0: 143;
Wagon 1: 834;
Wagon 2: 63;
Wagon 3: 6546;
Wagon 4: 42;
			

oder

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
						
float aErrechneteWertwe[5];	// Definition eines Arrays mit 5 Floatelementen

aErrechneteWertwe[0]   = 5.1f;
aErrechneteWertwe[1]   = 4.2f;
aErrechneteWertwe[2]   = 3.3f;
aErrechneteWertwe[3]   = 2.4f;
aErrechneteWertwe[4]   = 1.5f;

float fDurchschnitt    = 0.0f;

// Summiere alle Felder
for (int iCounter=0; iCounter<5; iCounter++) {
        fDurchschnitt += aErrechneteWerte[iCounter];
} // end of for

fDurchschnitt          /= 5.0f;
printf("Durchschnitt = %g", fDurchschnitt);
						

Ausgabe:

Durchschnitt = 3.3
			

Arrays lassen sich auch ineinander verschachteln um eine Matrix aufzubauen. Man hat dann quasi ein Array mit Arrays, die wiederum irgendwelche Werte halten. Dies sieht dann z.B. so aus.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
						
float aMatrix[3][2];	// 3 Zeilen mit je 2 Spalten

aMatrix[0][0] = 1.1;
aMatrix[0][1] = 1.2;
aMatrix[1][0] = 2.1;
aMatrix[1][1] = 2.2;
aMatrix[2][0] = 3.1;
aMatrix[2][1] = 3.2;

// Gebe alle Felder aus
for (int iZeilen=0; iZeilen<3; iZeilen++) {
        for (int iSpalten=0; iSpalten<2; iSpalten++) {
               printf("%g ", aMatrix[iZeilen][iSpalten]);
        } // end of for

        printf("\n");
} // end of for
						

Ausgabe:

1.1 1.2
2.1 2.2
3.1 3.2
			

Dieses Spiel lässt sich natürlich auch noch fast bis ins Unendliche weiter treiben. Es ist also kein Problem, 20 Arrays ineinander zu verschachteln. Ob das dann Sinn macht, ist eine andere Frage.

Zum Seitenanfang
Zum Inhaltsverzeichnis

© Copyright by Thomas Weiß, 2009 - 2012