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.