Heim >Backend-Entwicklung >C++ >C/C-Zeigerdeklaration: „char* p' vs. „char *p' – Was ist richtig?

C/C-Zeigerdeklaration: „char* p' vs. „char *p' – Was ist richtig?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-09 03:06:11668Durchsuche

C/C   Pointer Declaration: `char* p` vs. `char *p` – Which is Correct?

So deklarieren Sie Zeigervariablen in C/C korrekt

Diese Frage dreht sich um die scheinbar widersprüchlichen Stile der Zeigervariablendeklaration in C/C :

(a) char* p;
(b) char *p;

Einige Personen bevorzugen die Notation (a), während andere (b) bevorzugen. Ziel dieses Artikels ist es, die Gründe für jeden Stil zu beleuchten.

Stil (b) betont, dass es sich bei dem Typ um ein Zeichen handelt und die Variable (p) auf dieses Zeichen verweisen kann. Dies wird in der Deklaration mehrerer Zeiger deutlich:

char* c, *d;

Stil (a) legt dagegen nahe, dass es einen Typ char* gibt und dass die Variable (c) ist von dieser Art. Dies kann irreführend sein, da der Typ tatsächlich char ist und der Speicherort, auf den c zeigt, von diesem Typ ist.

Bjarne Stroustrup, der Schöpfer von C, bietet diese Erkenntnis:

"Die Wahl zwischen 'int p;' und 'int p;' Es geht nicht um richtig und falsch, sondern um Stil und Betonung, während bei C Typen im Vordergrund stehen . Aus Konsistenzgründen wird jedoch empfohlen, Stil (b) zu übernehmen, wenn mehrere Zeiger in einer einzelnen Zeile deklariert werden.

Das obige ist der detaillierte Inhalt vonC/C-Zeigerdeklaration: „char* p' vs. „char *p' – Was ist richtig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn