masquage

Une déclaration peut être masquée dans sa portée, c'est à dire dans la zone de texte où elle a un effet, par une déclaration d'entité de même nom.

Par exemple, rien n'interdit de déclarer dans un sous-bloc A d'un bloc B une variable ayant le même nom qu'une variable du bloc B.

{ int i ;

....

{ int i ; /* Cette déclaration masque la précédente jusqu'à */

....

....

} /* cette fin de bloc */

....

}

Rien n'interdit de déclarer une variable ou un paramètre alors que dans le fichier, il y a une entité de même nom.

int i = 5 ;

int f ( int i) { /* La déclaration de ce paramètremasque la varaiable globale de même nom */

i= 7 ;

....

} /* Jusqu'à la fin du bloc de la fonction */

» Glossaire du langage C