Deklaration von Zeigervariablen in C/C: Stile verstehen
Die Deklaration von Zeigervariablen in C/C hat eine Debatte über zwei Notationen ausgelöst:
(a) char* p;
(b) char *p;
Beide Stile sind gültig, aber die Wahl spiegelt unterschiedliche Programmierperspektiven und Schwerpunkte wider.
Stil (a): Betonung auf Ausdrücken
Dieser Stil behandelt die Zeigervariable (z. B. p) als eine einzelne Entität, in der sich das Sternchen (*) befindet Teil der Namenserklärung. Aus syntaktischer Sicht bindet das Sternchen an den Namen p und gibt den Typ der Variablen an (z. B. einen Zeiger auf ein Zeichen). Dieser Ansatz steht im Einklang mit der traditionellen C-Perspektive, die Ausdrücke betont und Deklarationen als notwendige Formalität betrachtet.
Stil (b): Betonung von Typen
Im Gegensatz dazu Stil (b) legt größeren Wert auf Typen. Es betrachtet das Sternchen (*) als Teil der Typspezifikation (z. B. einen Zeiger auf ein Zeichen). Dieser Stil entspricht eher dem C-Programmierparadigma, das einen starken Fokus auf Typen und objektorientierte Prinzipien legt.
Bjarne Stroustrups Perspektive
Bjarne Stroustrup, der Der Schöpfer von C befürwortet den letzteren Stil (int p;) aufgrund seiner Klarheit bei der Angabe des Typs von die Variable (int*). Er betont, dass dieser Ansatz besser zu den erweiterten Funktionen von C passt.
Kontextbezogene Überlegungen
Wenn Sie mehrere Zeigervariablen in einer einzigen Zeile deklarieren, verwenden Sie das Sternchen mit der Variablen Name (Stil (a)) kann zu Verwirrung führen. Zum Beispiel:
char c, d;
In diesem Fall ist es möglicherweise weniger klar, dass sowohl c als auch d Zeiger auf Zeichen sind . Die Verwendung des Sternchens mit der Typspezifikation (Stil (b)) löst diese Mehrdeutigkeit:
char c, d;
Fazit
Die Wahl zwischen Stil (a) und Stil (b) ist letztendlich eine Frage der persönlichen Vorlieben und der Programmierung Philosophie. Stil (a) ist möglicherweise für diejenigen mit einem C-Hintergrund intuitiver, während Stil (b) eher auf den typzentrierten Ansatz von C abgestimmt ist.
Das obige ist der detaillierte Inhalt vonC/C-Zeigerdeklaration: „char* p' vs. „char *p' – Welcher Stil ist am besten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!