Justement avec un vrai type abstrait, le contenu de la structure n'est pas presente dans le fichier d'entete (tout au moins pas le fichier public) mais uniquement dans les fichiers d'implementations.
Sans avoir les sources de la bibliotheques, on ne peut pas avoir connaissance du contenu de la structure.
La raison, etre certain que l'utilisateur de notre module n'utilisera que l'API publique et ne viendra pas utiliser directement les champs des structures.
L'interet etant:
* d'eviter d'eventuels effets de bord du a la modification intempestives d'une valeur qui rend l'etat de l'objet incoherent.
* de pouvoir modifier la structure (ajout de champ ou refonte totale du module) sans casser de code existant.
Bref, on parvient ainsi a creer une notion de private/public.