Regroupement hétérogène

struct personne {
    int age;
    char * nom;
};
...
struct personne dupont;
...
dupont.age = 22;
dupont.nom = "Dupont";

Enumération

enum booleen {faux = 0, vrai = 1};

Union

union int_char {
    char cc[sizeof(int)];
    int i;
};

Type

typedef <type> <nom>

Exemple 1 : Personne

personne.c personne.h main.c Makefile

Exemple 2 : Pile

pile.c pile.h postfixe.c Makefile