Felsorolt ​​típus

A számítógép-programozás , egy felsorolt típus (gyakran nevezik felsorolás vagy csak egy enum , néha felsoroló típus vagy felsoroló lista ) egy adattípust , amely egy sor konstans értékek. Ezek a különböző értékek különböző eseteket képviselnek  ; számlálónak hívják őket . Ha egy változó felsorolt ​​típusú, akkor ennek a felsorolt ​​típusnak bármelyik értéke lehet.

Tipikus példa a hétköznapi kártyák ábrázolása  : a kártya folytatása ("öltöny"), valamint a kártya magassága (száma vagy alakja) felsorolással ábrázolható. Bizonyos nyelvekben a logikai (logikai) típus egy előre definiált felsorolt ​​típus, amelynek két számlálója van ( igaz és hamis ). A felsorolókat azonban gyakran nagybetűvel írják, jelezve, hogy konstansok.

Szintaxis és működés

C nyelv

A C és szintaktikailag hasonló nyelveken:

Példa felsorolt ​​egyedi típusra
Példa
C nyelv C ++ nyelv
//** **************************************** //** Fichier de déclaration //** **************************************** //## Déclaration d'un type personnalisé (liste énumérative). enum TCouleurCarte { ccTrefle, ccCarreau, ccCoeur, ccPique }; //## Déclaration d'un type personnalisé (structure). struct TCarte { enum TCouleurCarte Couleur; short int Valeur; }; //** **************************************** //** Fichier d'implémentation //** **************************************** //** Définition d'une variable //** à partir du type personnalisé (structure). struct TCarte MaMain[5]; //** Définition d'une variable //** à partir du type personnalisé (liste énumérative). enum TCouleurCarte Atout; // Affecter une valeur à l'atout. Atout = ccTrefle; // Affecter une valeur à l'une des cartes de la main. MaMain[2].Couleur = ccCoeur; MaMain[2].Valeur = 10;



A C-ben a felsorolók globális hatályúak vagy blokkra korlátozódnak. Ezek egyenértékűek az egész számokkal. Az első felsoroló nulla, míg az összes következő megegyezik az előzővel, eggyel növekszik. Kifejezetten kiválasztható a felsorolási állandók (vagy ezek egy részének értéke; ebben az esetben a többiek a korábban megadott szabályt követik), mint például:

enum TCouleurCarte { ccTrefle = 1, ccCarreau = 2, ccCoeur = 4, ccPique = 8 };

Forrás