Am Freitag 15 Februar 2008 schrieb Andreas Pakulat: > On 15.02.08 11:10:11, Martin Steigerwald wrote: > > Am Donnerstag 14 Februar 2008 schrieb Markus Schulz: > > > > int i; > > > > > > > > for (i==0; i<1; i++) { > > > > > > ^^ > > > Das ist ein Vergleich und keine Initialisierung. D.h. i hat einen > > > zufälligen Wert. Deshalb stürzt dein Programm ab, da i mit extrem > > > hoher Wahrscheinlichkeit als Index auf eine nicht von deinem > > > Programm allokierte Page zeigt. > > > > Das ist natürlich auch von daher interessant, als ich immer davon > > ausging, dass die Deklaration der Variable aka "int i;" bereits den > > Speicherbereich für diese alloziert. > > Das ist auch korrekt. Aber fuer eine Variable Speicherbereich > allozieren bedeutet nicht, dass der Inhalt des Speichers auch auf einen > "sinnvollen" Wert gesetzt wird. Sprich i ist "irgendwas" und weil int > auch negative Werte haben kann ist die Chance dass was immer in dem > Speicherbereich liegt als negative Zahl interpretiert werden kann nicht > so gering. Ah, jetzt verstehe ich: i hat *irgendeinen* Wert und in der Regel einen, der noch außerhalb der 4KByte von puffer liegt. Und ich dachte nun, der vergleichende Zugriff auf i wäre der illegale Zugriff. Wie gesagt, meine letzten Erfahrungen mit C sind schon eine geraume Weile her. Danke. ;-) -- Martin 'Helios' Steigerwald - http://www.Lichtvoll.de GPG: 03B0 0D6C 0040 0710 4AFA B82F 991B EAAC A599 84C7
Attachment:
signature.asc
Description: This is a digitally signed message part.