Heim > Backend-Entwicklung > C++ > C/C-Zeigerdeklaration: `char* p;` vs. `char *p;` – Was ist der Unterschied?

C/C-Zeigerdeklaration: `char* p;` vs. `char *p;` – Was ist der Unterschied?

Mary-Kate Olsen
Freigeben: 2024-12-25 21:53:22
Original
240 Leute haben es durchsucht

C/C   Pointer Declaration: `char* p;` vs. `char *p;` – What's the Difference?

Zeigervariablen in C/C deklarieren: Syntaxklärung

Im Bereich der Zeiger in C und C gibt es eine geringfügige syntaktische Variation Das hat einige Debatten ausgelöst: die Platzierung des Sternchens (*) in Zeigerdeklarationen. Einige Programmierer entscheiden sich für die Notation (a):

char* p;
Nach dem Login kopieren

während andere (b) bevorzugen:

char *p;
Nach dem Login kopieren

Was ist der Grund für diese beiden unterschiedlichen Notationen?

Bjarne Stroustrup, der Erfinder von C, beleuchtet dieses Thema. Er erklärt, dass die Wahl nicht von der Korrektheit abhängt, sondern von stilistischen Vorlieben und Programmierschwerpunkten.

In C hatten Ausdrücke Vorrang vor Deklarationen, die oft als weniger wichtig angesehen wurden. C legt jedoch einen starken Schwerpunkt auf Typen.

Anhänger des C-Programmierstils bevorzugen die Notation (a) und argumentieren, dass „*p“ den dereferenzierten Wert des Zeigers darstellt und sich an der syntaktischen Struktur von C orientiert Sprache.

Unterdessen bevorzugen Befürworter des C-Programmierstils die Notation (b) und betonen den Typ der Zeigervariablen selbst. Der Typ von „p“ in Notation (b) wird explizit als „int*“ identifiziert, was seine Rolle als Zeiger auf eine Ganzzahl hervorhebt.

Aus Sicht der Lesbarkeit erscheint Notation (b) insbesondere konsistenter wenn mehrere Zeiger in einer einzigen Zeile deklariert werden. Das Platzieren des Sternchens mit der Variablen, wie in „char c, d“, entspricht der Intuition, dass sowohl „c“ als auch „d“ Zeiger auf Zeichen sind.

Letztendlich die Entscheidung Die Wahl der Notation (a) und (b) ist eine Frage der persönlichen Präferenz. Angesichts der zunehmenden Verbreitung von C und seiner Betonung von Typen wird jedoch im Allgemeinen die Notation (b) empfohlen, um die Klarheit und Lesbarkeit Ihres Codes zu verbessern.

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

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage