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 :
est une définition de maStructure
Code : Sélectionner tout - Visualiser dans une fenêtre à part typedef struct maStructure
et queest une déclaration du pointeur structure1 de type maStructure définie ci-avant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part struct maStructure* structure1
Dans le code suivante :
à priori la structure de quadTreeNode comprend les champs
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);
- 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.
Partager