Mehrfache Indirektion
-
Ich komm nicht mehr weiter.
Folgendes Beispielprogramm habe ich aus einem Buch durchgearbeitet:
int iwert = 100;
int *iptr = &iwert;
int **iptrptr = &iptr;cout<<"*iptr: "<<*iptr<<'\n';
cout<<"*iptrptr: "<<**iptrptr<<'\n';**iptrptr = 222;
cout<<"*iptr: "<<*iptr<<'\n';
cout<<"**iptrptr: "<<**iptrptr<<'\n';*iptr = 333;
cout<<"*iptr: "<<*iptr<<'\n';
cout<<"**iptrptr: "<<**iptrptr<<'\n';Der Buch Autor fasst dies nun so zusammen:
Dass iptrptr eine Variable vom Typ char** ist, die die Adresse von iptr beinhaltet. *iptrptr ist eine Variable vom Typ char* welche den Wert von iwert beinhaltet und **iptrptr ist eine Variable vom Typ char mit dem eigentlichen Wert von iwert.
Ich frage mich nun: Wieso ist iptr, *iptr, **iptrptr überhaupt vom typ char und was haben die * hinter dem char verloren.
hoffe ihr könnt mir das plausibel erklären...danke schon mal im voraus
mfg
-
Der Datentyp von Pointern ist
z.B. char *, int *, void *, double *, float .
Ein Stern () alleine macht noch keinen Pointer aus!Zeh Mau