Arrays definieren
-
Hallo!
Ich hab eine Frage zu Arrays: ich brauch ein Array mit 5 Speicherplätzen und hab
int rest[4];
definiert. Nun aber meine Frage: muss ich jedem Speicherplatz in dem Array einen Wert zuweisen? ich weiß in meinem Fall, dass zB
rest[0] = 12; rest[1] = 2;
ist, die restlichen "Plätze" sollen jedoch erstmal "frei" bleiben, da sie als Ergebnisspeicher für Rechnungen dienen. Kann meine Definition somit so bleiben oder müsste ich etwas wie
rest[2] = 0; rest[3] = 0; . . .
definieren?
Hoffe ich konntet mir folgen
und vielleicht kann mir ja auch jemand helfen? Danke!
-
- Wenn du ein Array mit 5 Süeicherplätzen brauchst, dann schreibst du:
int Array[5];
die Indizes gehen dann von 0-4, nicht wie bei BASIC von 0-5
- Es ist glaub ich guter Stil alle Variablen vorher zu definieren, bevor man sie benutzt. Aber es muss nicht sein. Pass aber auf, dass du ein ERgebnis reinschreibst, bevor du sie abfragst, sonst sthet nur müll drinnen.
Gruß, Maxi
-
Schau Dir das mal an:
#include <iostream> #include <conio.h> using namespace std; int main() { int a[3] = {-10,20,42}; // drei Elemente a[0], a[1], a[2] cout << a << endl; for( int i=0; i<3; ++i ) { cout << a[i] << ' '; // Elemente werden über Index angesprochen. } cout << endl << endl; int b[3]; cout << b << endl; for( int i=0; i<3; ++i ) { cout << b[i] << ' '; // Elemente werden über Index angesprochen. } cout << endl; getch(); }
Beide Arrays landen im Stack. Das Array a[3] wird sofort mit eigenen Werten initialisert, b[3] dagegen nicht. In b[...] stehen dann jeweils zufällige Werte.
-
Wenn man ein Array mit 5 Elementen erstellt, aber nur z.B. die ersten beiden initialisiert, so erhalten die restlichen 3 Elemente automatisch den Wert 0.