Maison  >  Article  >  développement back-end  >  Quand et pourquoi les parenthèses sont-elles utilisées dans les déclarations de variables C ?

Quand et pourquoi les parenthèses sont-elles utilisées dans les déclarations de variables C ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-31 23:55:29688parcourir

When and Why Are Parentheses Used in C   Variable Declarations?

Parenthèses dans la déclaration de variable en C

Une observation particulière est apparue dans la programmation C : la possibilité de placer des déclarations de variables entre parenthèses. Cet aspect a généré des intrigues, suscitant des questions sur sa fonctionnalité.

Considérez l'extrait de code :

<code class="cpp">int main() {
    int(s);
}</code>

Étonnamment, ce code crée une variable valide nommée s, ce qui incite à une enquête plus approfondie sur le mécanisme sous-jacent. .

Selon [dcl.meaning] dans la norme C :

"Dans une déclaration T D où D a la forme ( D1 ), le type de l'identifiant du déclarant contenu est le même comme celui de l'identifiant du déclarant contenu dans la déclaration T D1."

Cette instruction indique que les parenthèses ne modifient pas le type de l'identifiant du déclarant intégré (dans ce cas, s). Cependant, elles peuvent avoir un impact sur la liaison des déclarateurs complexes.

De manière simpliste, les parenthèses peuvent englober n'importe quel déclarateur de la grammaire C. Par exemple, dans le code donné, s est un déclarateur, et les parenthèses ne modifient pas sa signification.

L'utilité des parenthèses devient évidente lorsqu'il s'agit de scénarios plus complexes. Prenons cet exemple :

<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>

Dans ce cas, les parenthèses permettent de distinguer efficacement les deux types de pointeurs. Sans eux, l'interprétation de ces déclarations ne serait pas claire.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn