Zeiger auf einen Zeiger
-
int iwert = 111;
int *iptr = &iwert;
int **iptrptr = &iptr;wieso nimmt man eigentlich 2 Sterne. iptrptr ist doch auch nur ein normaler Zeiger auf iptr. Und wieso würde iptr auf eine ungültige Speicheradresse zeigen, wenn man iptrptr dereferenziert mit nur einem Stern.
int *iptrptr = &iptr würde doch iptrptr auch auf die Adresse von iptr zeigen und damit auch auf iwert.
????
-
BOSS schrieb:
wieso nimmt man eigentlich 2 Sterne.
Wieso heißt es wohl Zeiger auf Zeiger?
iptrptr ist doch auch nur ein normaler Zeiger auf iptr.
Wieso ist dann einmal der Datentyp int* und das anderemal int**?
Und wieso würde iptr auf eine ungültige Speicheradresse zeigen, wenn man iptrptr dereferenziert mit nur einem Stern.
Wenn iptrptr mit einem * dereferenziert wird, zeigt er auf den Inhalt eines anderen Pointers, der sinnigerweise auch wieder auf eine gültige Adresse (Variable) zeigen sollte.
int *iptrptr = &iptr würde doch iptrptr auch auf die Adresse von iptr zeigen und damit auch auf iwert.Dann brauchst du aber keinen Pointer auf Pointer.
Zeh Mau