2010-10-04 7 views

Répondre

3

Une définition struct peut être un type de structure ou d'une union incomplète en définissant simplement ou typedef'ing la balise struct. Cela peut être utilisé pour déclarer des pointeurs.

Pour déclarer un objet réel, cependant, il ne peut pas être un type incomplet. Donc, commandez vos déclarations de sorte que la référence vers l'avant soit le pointeur et la référence vers l'arrière est l'objet.

3

Il n'existe aucun moyen de référencer un type concret (non pointeur) avant qu'il ne soit défini en C. Vous devez utiliser un pointeur + une déclaration de type ou bien définir le type avant de pouvoir le consommer.

7

le faire comme:

typedef struct user user; 

typedef struct 
{ 
    //userList contains users 
    user * list; 
    int count; 
} userList; 

struct user 
{ 
    unsigned long id; 
    //userList defined above 
    userList friends; 
}; 
+0

bleh J'étais trop lent – Spudd86

+0

Bien, mais j'aime l'explication de DigitalRoss –

Questions connexes