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