primitive einsteigerfrage
-
Hab da mal so ne frage wegen pointern
Hier der Code1.:
int *p_a; int b = 5; *p_a = &b; //Fehler: 'int *' kann nicht in 'int' konvertiert werden
2.:
int b = 5; int *p_a = &b; //funzt
Kann mir jemand erklären woran das liegt.
Ist doch im prinzip das gleiche, oder?Besten Dank
hispeedsurfer
-
Pointer sind eigentlich ganzzahlige Variablen, d.h. um einem Pointer einen Wert zuzuweisen geht das wie mit jeder anderen Variablen auch
int *p; p = 15;
Die erste Zeile sagt aus, dass p eine Variable ist, die wenn sie als *p verwendet wird, auf einen Integer-Wert zeigt.
Um also einen Pointer auf eine Variable zeigen zu lassen, sollte das so aussehen:int *p; int i = 17; p = &i;
Initailisierungen sind dabei eine Ausnahme, gleich bei der Deklaration kann eine Adresse zugewiesen werden:
int i = 23; int *p = &i;
-
http://www.pronix.de/C/standard_C/ckurs/ckurs55.html und die folgenden 5 Kapitel erfährst du wahrscheinlich alles was du momentan zu Zeigen brauchst (und einiges was du wahrscheinlich nicht brauchst).
sers
[ Dieser Beitrag wurde am 20.02.2003 um 19:34 Uhr von Cypher editiert. ]