Attention : il ne s'agit pas de déclaration de noms de variables de type
structure ou union, mais de déclaration d'étiquette de structure ou union.
Quand on veut déclarer une étiquette de structure ou union
qui sera définie plus tard, on procède de la manière suivante :
struct str1; /* déclaration de référence de str1 */
struct str2 /* définition de str2 qui référence str1 */
{
...
struct str1 * p;
};
struct str1 /* définition de str1 qui référence str2 */
{
...
struct str2 *p;
};
Le mécanisme est le même avec les unions.
Matthieu Moy
2017-02-08