Nous donnons ci-dessous un exemple où le même identificateur i est utilisé de manière valide dans 5 espaces de noms différents.
int i; /* i est un nom d'identificateur */
struct i /* i est une étiquette de structure */
{
int i; /* i est un champ de la struct i */
int j;
}i1,i2;
struct ii
{
int i; /* i est un champ de la struct ii */
int j;
}ii1,ii2;
int main(void)
{
i: /* i est une étiquette de branchement */
i = 1;
i1.i = 2;
ii1.i = 3;
goto i;
}