Heim >Backend-Entwicklung >C++ >Warum ändern Klammern in C-Variablendeklarationen den Typ nicht?
Klammern in C-Variablendeklarationen
Beachten Sie den folgenden Code:
<code class="cpp">int main() { int(s); }</code>
Die Verwendung von Klammern um die Variable Deklaration int(s); kann unerwartet sein, da dadurch eine gültige Variable mit dem Namen s erstellt wird. Dieses Verhalten ist auf einen bestimmten Teil des C-Standards zurückzuführen, der als „Meaning of Declarators Rule“ bekannt ist und in [dcl.meaning] zu finden ist.
Gemäß dieser Regel ist der Typ der Variablen, wenn Klammern eine Deklaration einschließen Die Deklaration bleibt unverändert. In Ihrem Beispiel ist s ein Deklarator, und wenn Sie ihn in Klammern setzen, ändert sich weder sein Typ noch seine Bedeutung.
Mit dieser Funktion können komplexere Deklarationen erstellt werden. Es kann beispielsweise zwischen einem Array von Zeigern und einem Zeiger auf ein Array unterscheiden:
<code class="cpp">int * a [10]; // a is an array of ten pointers to int. int ( * b ) [10]; // b is a pointer to an array of ten ints.</code>
Das obige ist der detaillierte Inhalt vonWarum ändern Klammern in C-Variablendeklarationen den Typ nicht?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!