Tyypissä Vertailu_oper_tyyppi "luotiin" luettelo vakioita, joille ei kuitenkaan tarvinnut itse antaa arvoa. Sama olisi voitu tehdä myös vakioilla tai #defineillä:
// Vakioilla // #definellä const YHT = 0; #define YHT 0 const ERIS = 1; #define ERIS 1 const PIEN = 2; #define PIEN 2 const PIENYHT = 3; #define PIENYHT 3 const SUUR = 4; #define SUUR 4 const SUURYHT = 5; #define SUURYHT 5
Oman tyypin Vertailu_oper_tyyppi luomisella on kuitenkin se etu, että voidaan tehdä myös muuttuja joka on samaa tyyppiä. Tällaiseen muuttujaan ei voi sijoittaa muita arvoja (vaikka muuttuja olisikin todellisuudessa tyyppiä int). Lisäksi useat debuggerit näyttävät luettelotyyppisen muuttujan arvon nimellä eikä mitään sanomattomalla kokonaisluvulla.
Hyvässä ohjelmassa on jokaista selvästi eri luettelomaista tyyppiä kohti tehty oma luettelo ja käytetään vain ko. luettelotyypin tyyppisiä muuttujia. Esimerkiksi aliohjelmien virhepalautukset voisivat olla luettelotyyppiä. Valitettavasti luettelotyypin arvon tulostaminen tulostaa vain kokonaisluvun. Usein tulostuksia varten joudutaan tyypin rinnalle tekemään vähän EHDOT- taulukon kaltainen taulukko, jolla tyyppejä voidaan muuttaa selväkielisiksi ja päinvastoin.