Maison >développement back-end >C++ >Pourquoi les parenthèses dans les déclarations de variables C ne modifient-elles pas le type ?

Pourquoi les parenthèses dans les déclarations de variables C ne modifient-elles pas le type ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-01 02:09:02543parcourir

Why Do Parentheses in C   Variable Declarations Not Change the Type?

Parenthèses dans les déclarations de variables C

Considérez le code suivant :

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

L'utilisation de parenthèses autour de la variable déclaration int(s); peut être inattendu, car cela crée une variable valide nommée s. Ce comportement découle d'une partie spécifique du standard C connue sous le nom de "Règle de signification des déclarateurs" trouvée dans [dcl.meaning].

Selon cette règle, lorsque des parenthèses entourent une déclaration, le type de la variable déclaré reste inchangé. Dans votre exemple, s est un déclarateur, et le placer entre parenthèses ne modifie pas son type ni sa signification.

Cette fonctionnalité permet de construire des déclarations plus complexes. Par exemple, il peut faire la distinction entre un tableau de pointeurs et un pointeur vers un tableau :

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

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