Frage zu Zeigern
-
Hi,
ich bin gerade etwas verwirrt.
Es geht um folgenden Code:
int* ip; *ip=12;Wenn ich das so stehen lasse,wirft mein Prog die Exception "Access violatoin writing location..." aus.
Bei folgendem läuft alles durch und "ip" enthält den wert 12.
int* ip; *ip=12; int a;-> Ich versteh gerade nicht, welchen Einfluß die neue Variable a auf den vorherigen Code hat.
Ich nutze den c++ Compiler von VS2005Pro.
Danke schonmal
-
Das verhalten ist undefiniert... Du schreibst auf einen uninitalisierten Zeiger der irgendwo hin zeigen kann. Es kann auch sein, dass bei einer anderen Konstelation dein Programm wieder abstürzt.
Darum, initalisiere den Zeiger richtig und du hast keine Probleme. z.B:
int a; int *ip = &a; *ip = 12;Gruß
-
Zum Thema Zeiger kannst du das hier mal durchackern:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-124532.html