Maison > développement back-end > C++ > 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
Libérer: 2024-10-31 23:55:29
original
802 Les gens l'ont consulté

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>
Copier après la connexion

É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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal