einen Wert mehreren Array Elementen zuweisen
-
Hallo,
kann ich auf diese Weise:void startArray() { int Array[MAXNUM] = {0}; }
jedem Element das MAXNUM hat, die 0 zweisen ?
-
schön wärs... ist aber nicht der fall.... du setzt mit {0} nur _ein_ Element..
Aber wie wärs mit memset()? Glaube das habe ich dir heute schon mal
geschrieben....
-
Das ist doch garnicht wahr.
Jedes Element des Arrays wird damit auf Null gesetzt. Hab es extra nochmal getestet.
-
ich denke Solaris'dUKe hat Recht. Habe es mal mit einer 4 versucht und das hat nicht geklappt.
-
Hmm, vielleicht hab ich das auch falsch verstanden. Ich hatte es so getestet:
#include <iostream> int main() { int ArrayUninitialized[5]; for(int i = 0; i < 5; ++i) { std::cout << ArrayUninitialized[i] << std::endl; } std::cout << std::endl; int ArrayInitializedWithZeros[5] = {0}; for(int i = 0; i < 5; ++i) { std::cout << ArrayInitializedWithZeros[i] << std::endl; } return 0; }
Ausgabe:
0 2147348480 17 2 2293600 0 0 0 0 0
Also ich denke daher mit = {0} wird jedes einzelne Element mit einer 0 initialisiert.
-
Und mit = {4}; wird nur das erste Element mit 4 initialisiert?
Warum ist das so?
-
Wenn man eine Initialisierung vornimmt, dann werden zuerst der Reihenfolge nach jedes Element mit dem zugehörigen Wert gefüllt. Verbleibende Elemente, werden mit Null belegt.