struct st1 { int i; int j; }; struct st2 { int i; double d; }; int main(void) { struct st1 s1; /* déclaration de la variable s1 */ struct st2 s2; /* déclaration de la variable s2 */ s1.i = s2.i; }
Dans l'instruction s1.i = s2.i
, il y a deux occurrence du nom i
,
la première désigne le i
de s1
, et la seconde désigne le
i
de s2
.
On voit que le contexte d'utilisation de i a permis de déterminer à
chaque fois de quel i il s'agit.
On dit alors que le i
de s1
et le i
de s2
appartiennent à des espaces de noms différents.