Les espaces de noms du langage C

Il y a quatre types d'espaces de noms dans le langage :
-
un espace pour les étiquettes de structures, d'unions et d'énumération ;

-
un espace pour les noms de champs de structures ou unions : il y a un espace de nom pour chaque structure et chaque union ;

-
un espace pour les étiquettes de branchement ;

-
le dernier espace est formé de tous les autres noms.

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



Sous-sections

Matthieu Moy 2017-02-08