NULL
-
Hallo!
Darf man folgendes machen:
while(temp1!=NULL) { Sprite8(temp1->pos[0],temp1->pos[1],8,schlange_spr,LCD_MEM,SPRT_OR); temp1=temp1->next; }
Das entscheidende ist die letzte Zeile. Irgendwann ist nämlich temp1->next==NULL. Das wird nun der Variable temp1 zugewiesen. Darf man das machen!?
Oder muss man abfragen
if(temp1->next==NULL) temp1=NULL; else temp1=temp1->next;
Grüße,
Harri
-
ja darfst du. kannst ja nen zeiger zuweisen was du willst. solange du dann nicht mehr auf den speicherbereich (NULL) versuchst zu schreiben(aber das wird ja durch die schleife verhindert) is das ok.
-
Danke für deine schnelle Antwort!
Jetzt kann ich beruhigt schlafengehen
Grüße,
Harri
-
harry3 schrieb:
Oder muss man abfragen
if(temp1->next==NULL) temp1=NULL; else temp1=temp1->next;
Wenn du auch sonst in deinem Programm Code der Form
if (x == 0) y = 0; else y = x;
hast, solltest du das unbedingt auch bei Zeigern beibehalten
-
Sehr lustig, hab ich natürlich nicht.
Aber ich dachte ich bin hier vorsichtig, weil, wenn das Programm abstürtzt, meist irgendein Aress Error Schuld daran ist. Ich war mir eben nicht sicher ob man nur nicht auf Adresse NULL zugreifen darf, oder ob man sie auch nicht so wie oben einer Variable zuweisen darf!
mfg
harri
-
Du weist sie der Variablen doch so und so zu.
-
Wenn jeder perfekt wäre würde es dieses Forum wohl nicht geben.
Grüße,
Harri
-
Du musst irgendwas missverstanden haben.
-
Nein missverstanden hab ich nix.
Aber ist ja egal, Problem gelöst, was will man mehr vom Leben.:D
So, jetzt is aber Zeit zum Schlafengehen...
Grüße & Gute Nacht,
Harri