Bonjour à tous.

je ne connais rien au language C, mais je suis en train d'essayer de comprendre un code qui l'utilise.

J'ai pu lire que :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
typedef struct maStructure
est une définition de maStructure

et que
Code : Sélectionner tout - Visualiser dans une fenêtre à part
struct maStructure* structure1
est une déclaration du pointeur structure1 de type maStructure définie ci-avant.

Dans le code suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
typedef struct quadTreeNode {	
    struct quadTreeNode* northWest;
    struct quadTreeNode* northEast;
    struct quadTreeNode* southWest;
    struct quadTreeNode* southEast;
    TBBoundingBox boundary;
    TBQuadTreeNodeData *points;
    int count;
    int bucketCapacity;
} TBQuadTreeNode;
TBQuadTreeNode* TBQuadTreeNodeMake(TBBoundingBox boundary, int bucketCapacity);
à priori la structure de quadTreeNode comprend les champs
- boundary
- *points
- count
- bucketCapacity

Qu'en est-il de northWest, northEast, southWest et southEast ? Ces champs appartiennent-ils à la structure ?

Il semble que ce soit un code récursif.

Si oui, n'est-on pas dans une boucle infinie où chaque instance de quadTreeNode crée un quadTreeNode de niveau inférieur qui lui même en crée un supplémentaire et ainsi de suite ?

Merci pour votre éclairage.