komplexvariablen oder einzelne?
-
Original erstellt von SirNoname:
ich will euch ja nicht zu nahe treten aber ich denke soviel ahnung hab ich dann doch dass ich nicht "die 30te stufe" auf einer "20er leiter" erklimme. ich hab den bereich des arrays sogar zu testzwecken um einiges grösser gemacht als benötigt, nur is der fehler dann trotzdem noch aufgetreten.
und das mit meinem "(bei mir war es aber nicht die 2te, sondern die 5. oder 6. zahl in der reihe)" war nicht auf DIESE reihe bezogen, sondern auf ein array mit entsprechender elementanzahl.
kurz: ich leg ein array an, initialisiere JEDES element (ja, auch "array[0]"!), will einfach nur die anfangsinitialisierung abrufen ABER ES KLAPPT NICHT, da nur unsinn dabei herauskommt.dann gib n beispiel wo zB
int array[5];
array[3]=1;
abstürzt
-
wie gesagt, ich weiss nich genau, wo der fehler lag. is mir im moment auch recht egal, da ich das prob anders löse. vielleicht hab ich ja auch irgendwas dummes anderes falsch gemacht (wär nich das erste mal) ... ka.
trotzdem nochmals danke für eure hilfe und die vielen beiträge[ Dieser Beitrag wurde am 11.02.2003 um 12:08 Uhr von SirNoname editiert. ]
-
Original erstellt von SirNoname:
[QB]"(bei mir war es aber nicht die 2te, sondern die 5. oder 6. zahl in der reihe)" war nicht auf DIESE reihe bezogen, sondern auf ein array mit entsprechender elementanzahl.Falls du mit entsprechend das meinst, was ich glaube:
int array[2]; array[2] = 234;
Das ist falsch.
Du kannst nicht auf array[2] zugreifen, weil das ein ganz anderer Speicherbereich ist.Poste doch mal den Quelltext, wo der Fehler drin ist.
Ich will auf Fehlersuche gehen
-
*japro schwenkt die weisse fahne*
-
int zahl[2];
zahl[0] = 23;
zahl[1] = 12345;
zahl[2] = 123456; /* Undefiniertes Verhalten */TYPISCH Bug Programmierer! sorry
Wenn man ein Array mit 2 Elementen anlegt, darf man auch nur auf diese 2 zugreifen. Sollte was anderes theoretisch passieren können, muss man selber dafür sorgen, dass dies eben nicht passiert. Sonst kann's sein, dass es irgendwann kracht. Warum? Weil ausserhalb des definierten Bereichs auch noch andere Variablen existieren, die dann überschrieben werden, zB Zeiger.
-
^^ ja ... ich weiss dass das mit dem "array[2]=irgendwas" aus "int array[2]" nich geht ... is mir alles klar jetzt (dank eurer hilfe ^^). wie gesagt, ich hab
s jetzt anders gemacht (vom programmaufbau her mein ich), is jetz viel einfacher und kommt ohne array aus. den code kann ich deshalb hier auch nich posten, sorry @ Gary (aber ich könnt wetten wich mach noch mehr solche dummen fehler, daran soll
s nich mangeln *gggg*)thx nochmal und guten code!