Was ist der Unterschied zwischen int * p und int p * und int * p?


Beste Antwort

Nun, es gibt nichts wie:

int p*;

Es handelt sich um eine ungültige Anweisung. Mit diesem Code wird ein Kompilierungsfehler angezeigt.

Andererseits int * p und int * p sind grundsätzlich gleich. Es ist nichts anderes als eine Frage des Stils. Für den C / C ++ – Compiler spielt es keine Rolle, ob Sie int * p oder int * p schreiben. Wenn Sie das * lieber dem Typ als der Variablen zuordnen möchten, können Sie dies tun.

Beachten Sie jedoch Folgendes:

Die folgende Deklaration erstellt eine nicht zwei ganzzahlige Zeiger:

int* a,b;

Hier wird b als ganzzahliger Zeiger deklariert, wobei a ein ganzzahliger Zeiger ist. Diese Anweisung:

int *a,*b;

deklariert sowohl a als auch b als ganzzahlige Zeiger.

Antwort

Int p *: noch nicht gesehen Int * p: Da hier das * an p angehängt ist, ist nur p ein Zeiger auf eine Ganzzahl. Wenn Sie eine andere Variable deklarieren, nachdem p durch ein Semikolon getrennt ist, wird dies nicht der Fall sein ein Zeiger. Das heißt, int * p, q. Hier ist p ein Zeiger auf eine ganze Zahl, aber q ist eine normale int-Variable und kein Zeiger.

Der Fall Int * p, q funktioniert ähnlich wie Int * p, q. Beide Deklarationen deklarieren p als ganzzahligen Zeiger und q als normale ganze Zahl. Int * p, q ist eine Art Deklaration, die Programmierer verwirrt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.