Déclarations de variables entre parenthèses en C
En C, le concept de déclaration de variables entre parenthèses peut paraître surprenant. Considérez l'extrait de code suivant :
<code class="c++">int main() { int(s); }</code>
Cet extrait de code, étonnamment, crée une variable valide nommée "s". Pour comprendre ce comportement, examinons la section pertinente du standard C.
[dcl.meaning] dans le Standard indique :
"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 que celui de l'identifiant du déclarant contenu dans la déclaration T D1. "
En termes plus simples, les parenthèses ne modifient pas le type de l'identifiant du déclarant inclus . Au contraire, ils peuvent affecter la liaison des déclarateurs complexes.
Dans l'exemple fourni, l'identifiant "s" est un déclarateur. Les parenthèses qui l'entourent n'ont pas d'impact sur sa signification ou son type mais peuvent s'avérer utiles dans des scénarios plus complexes. Par exemple :
<code class="c++">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 cet exemple, les parenthèses modifient la liaison des déclarateurs, modifiant ainsi le type des variables. Sans les parenthèses, "a" serait un pointeur vers un tableau de dix entiers, tandis que "b" serait un tableau de dix pointeurs vers un entier.
Comprendre le rôle des parenthèses dans les déclarations de variables est crucial pour comprendre Syntaxe C avancée et écriture de code efficace.
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!