Types incomplets
Un type incomplet est un type qui décrit un identificateur mais n'a pas les informations nécessaires pour déterminer la taille de l'identificateur.« Un type incomplet » peut être :
Les membres d'un type structure dont vous n'avez pas encore spécifiés.
Les membres d'un type d'union dont vous n'avez pas encore spécifiés.
La dimension de type tableau dont vous n'avez pas encore spécifiée.
Le type void est un type incomplet qui ne peut pas être exécuté.Pour compléter un type incomplet, spécifiez les informations manquantes.Les exemples suivants montrent comment créer et remplir les types incomplets.
Pour créer un type incomplet de structure, déclarez un type de structure sans spécifier ses membres.Dans cet exemple, les points du pointeur d' ps à un type incomplet de structure ont appelé student.
struct student *ps;
Pour compléter un type incomplet de structure, déclarez le même type de structure plus loin dans la même portée avec ses membres spécifiés, comme dans
struct student { int num; } /* student structure now completed */
Pour créer un type de tableau incomplet, déclarez un type de tableau sans spécifier son nombre de répétition.Par exemple :
char a[]; /* a has incomplete type */
Pour compléter un type tableau incomplet, déclarez le même nom ultérieurement dans la même portée avec son nombre de répétition spécifié, comme dans
char a[25]; /* a now has complete type */