[GELÖST] 2d array mit unerwarteten werten
Übersicht

Boris1993Betreff: [GELÖST] 2d array mit unerwarteten werten |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hallo liebe community
ich habe heute ein bisschen rumgecodet und ein 2D array gemacht global map:byte[10, 10] dann habe ich auf der map punkte bemerkt die nicht da sein sollten und alle arraywerte geprintet bevor ich irgendwelche werte zugewiesen habe und komischerweise waren den letzten arraywerte mit zahlen belegt die ich mir nicht erklären kann warum sie da sind und musste extra anfangs alle auf 0 setzen damit mein programm läuft das waren die letzten werte aus dem array: 32 32 160 79 0 0 0 0 128 1 0 0 weiß jemand woran das liegen könnte? |
||
- Zuletzt bearbeitet von Boris1993 am So, Mai 27, 2012 9:11, insgesamt einmal bearbeitet
![]() |
M0rgenstern |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also...
Meine Kristallkugel sagt mir, dass du einen Fehler in deinem Code hast. Ernsthaft. Ohne Code können wir dir nicht helfen. |
||
Boris1993 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich hab meinen code um es zu testen auf das reduziert und dabei enthalte ich immer diese seltsamen werte solange ich nicht manuell alle auf 0 setze
Code: [AUSKLAPPEN] SuperStrict
Global map:Byte[10, 10] For Local x:Int = 0 To 10 For Local y:Int = 0 To 10 'map[x, y] = 0 Print map[x, y] Next Next |
||
![]() |
M0rgenstern |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja. Und weiter?
Man sollte ein Array auch immer auf Startwerte setzen, nachdem man es deklariert hat. Ansonsten kann es passieren, dass es mit irgendwelchem Müll aus dem Speicher vollgeschrieben wird. Also ich sehe ehrlich gesagt dein Problem nicht. Dann initialisiere dein Array einfach mit 0. Lg, M0rgenstern |
||
Boris1993 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ok das wusst ich nich ich hab mich nur gewundert wo die werte herkommen jetzt weiß ichs ![]() wie deklariere ich ein array mit 0 ohne extra in einer forschleife jeden wert = 0 setzen zu müssen? also eigentlich habe ich immer gedacht das bei einem array wie auch bei anderen variablen der wert immer standardmäßig 0 ist |
||
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nein, Arrays werden immer auf 0 initialisiert. Dein Problem ist, dass du über Arraygrenzen hinausliest. Bei einem Array mit 10x10 Einträgen darfst du nur Indizes von 0-9 verwenden, in deinem Beispiel aber liest du von 0-10.
Wenn du den Debugmodus einschaltest, siehst du das aber auch sofort ![]() |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
Boris1993 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ach daran lag es is mir gar nicht aufgefallen sowas vergesse ich immer ![]() danke für die schnelle hilfe ist ja schon fast wie chatten hier ![]() |
||
- Zuletzt bearbeitet von Boris1993 am Sa, Mai 12, 2012 19:00, insgesamt einmal bearbeitet
![]() |
M0rgenstern |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Noobody.
Das hab ich ja grade erst gesehen oO. Aber dann müsste er doch sowieso nen Fehler werfen? Kenn ich eigentlich nur so. Sorry, dass das Array bei Blitz standardmäßig mit 0 ist hab ich total vergessen. War bei C. Lg, M0rgenstern |
||
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
BlitzMax prüft solche Sachen nur im Debugmodus. Im Release werden solche Checks rausgekickt, um das Programm schneller zu machen. | ||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group