C++ int* | int** - Unterschied?

... komplette Frage anzeigen

2 Antworten

int* ist ein Pointer auf einen Integer. int** ist ein Pointer auf einen Pointer auf einen Integer.

* ist der Dereferenzierungsoperator ("löst den Pointer auf", greift auf das zu, auf das er zeigt), & der Referenzierungsoperator (erstellt einen Pointer auf sein "Argument").

Wenn b vom Typ int ist, dann ist *b Unsinn und &b vom Typ int*.

Wenn b vom Typ int* ist, dann ist *b vom Typ int und &b vom Typ int**.

Wenn b vom Typ int** ist, dann ist *b vom Typ int* und &b vom Typ int***.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von NoHumanBeing
18.02.2016, 14:53

Vielen Dank für den Stern! :-)

0

Welchen Typ habe die Ausdrücke:

Welchen Typ habe die Ausdrücke:

1) *b
2) &b

Das hängt vom Typ von b ab. Bei den eingebauten Typen ist * die Dereferenzierung und & der Addressoperator, also quasi das Gegenteil. Sprich für die eingebauten Typen gilt *(&b) ist b.

Der Unterschied zwischen int * und int ** ist der, das int * ein Zeiger auf einen int ist, wohingegen int ** ein Zeiger auf einen Zeiger auf int ist.

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?