Hallo,
ich steige immer noch nicht durch dem mehrdimensionalen Arraysystem durch:
Hier habe ich mir selbst ein Beispiel gebastelt, um es nachvollziehen zu können. Habs erst mal nur im 2 Dimensionalen Raum gelassen,weil bei 3-fach,da kapier ich es erst recht nicht:
int test [5][5] = {11,66,3,4,5,6,7,8,9,6,5,4,3};
cout
Hallo Keozor !
Dein Problem ist schlicht und einfach dass du nicht bedacht hast dass Arrays in C mit dem Index ‚0‘ beginnen:
int test [5][5] = {11,66,3,4,5,6,7,8,9,6,5,4,3};
Daraus wird:
test[0][0] ist 11
test[0][1] ist 66
test[0][2] ist 3
test[0][3] ist 4
test[0][4] ist 5
test[1][0] ist 6
test[1][1] ist 7
test[1][2] ist 8
test[1][3] ist 9
test[1][4] ist 6
test[2][0] ist 5
test[2][1] ist 4
test[2][2] ist 3
test[2][3] ist uninitialisiert, also zufälliger Wert
test[2][4] ist uninitialisiert, also zufälliger Wert
test[3][0] ist uninitialisiert, also zufälliger Wert
…
test[4][4] ist uninitialisiert, also zufälliger Wert
mfg
Christof
Hallo Keozor !
Dein Problem ist schlicht und einfach dass du nicht bedacht
hast dass Arrays in C mit dem Index ‚0‘ beginnen:
Doch eigentlich schon,bloß ich hab nicht überall Werte eingegeben…
int test [5][5] = {11,66,3,4,5,6,7,8,9,6,5,4,3};
Daraus wird:
test[0][0] ist 11
test[0][1] ist 66
test[0][2] ist 3
test[0][3] ist 4
test[0][4] ist 5
test[1][0] ist 6
test[1][1] ist 7
test[1][2] ist 8
test[1][3] ist 9
test[1][4] ist 6
test[2][0] ist 5
test[2][1] ist 4
test[2][2] ist 3
test[2][3] ist uninitialisiert, also zufälliger Wert
test[2][4] ist uninitialisiert, also zufälliger Wert
test[3][0] ist uninitialisiert, also zufälliger Wert
…
Genau das wollte ich wissen!Danke
Aber wie verhält sich das im 3 dimensionalen Raum?
[0][0][0]
[0][0][1]
[0][0][2]
[0][0][3]
[0][0][4]
[0][0][5]
[0][1][0]
[0][2][0]
[0][3][0]
So?
test[4][4] ist uninitialisiert, also zufälliger Wert
Müsste da denn nicht 0 gesetzt werden,weil er das automatisch macht,wenn man ihm keinen Wert zuweist?
Hallo Fragewurm,
Aber wie verhält sich das im 3 dimensionalen Raum?
test[2][3][4] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24};
test[0][0][0] ist 1
test[0][0][1] ist 2
test[0][0][2] ist 3
test[0][0][3] ist 4
test[0][1][0] ist 5
test[0][1][1] ist 6
test[0][1][2] ist 7
test[0][1][3] ist 8
test[0][2][0] ist 9
test[0][2][1] ist 10
test[0][2][2] ist 11
test[0][2][3] ist 12
test[1][0][0] ist 13
test[1][0][1] ist 14
test[1][0][2] ist 15
test[1][0][3] ist 16
test[1][1][0] ist 17
test[1][1][1] ist 18
test[1][1][2] ist 19
test[1][1][3] ist 20
test[1][2][0] ist 21
test[1][2][1] ist 22
test[1][2][2] ist 23
test[1][2][3] ist 24
test[4][4] ist uninitialisiert, also zufälliger Wert
Müsste da denn nicht 0 gesetzt werden,weil er das automatisch
macht,wenn man ihm keinen Wert zuweist?
Das hängt im wesentlichen vom Compiler ab.
Im C-Standard ist nicht vorgeschrieben, welchen Wert uninitialisierte Daten haben müssen.
MfG Peter(TOO)
1 „Gefällt mir“