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; }