Dans le cadre de l'écriture de programme en plusieurs unités de compilation,
il est souvent
utile de définir un type de manière opaque, c'est à dire d'en laisser libre
l'utilisation sans que l'utilisateur n'ait à connaître sa définition.
C'est exactement ce que réalise la bibliothèque standard pour le type FILE : le programmeur sait que fopen() rend une valeur de type FILE
* et que cette valeur doit être passée en paramètre des fonctions
d'entrées-sorties fprintf(), fputc(), fputs() etc.
Il y a beaucoup d'autres exemples de ce type dans la bibliothèque standard.
Matthieu Moy
2017-02-08