diff --git a/src/precedences.c b/src/precedences.c new file mode 100644 index 0000000..1c220c2 --- /dev/null +++ b/src/precedences.c @@ -0,0 +1,46 @@ +/** + * @file precedences.c + * @brief Gestion des tâches et leurs précédences +*/ + +#include "specification1.h" + +/** + * @brief Créer un tableau dynamique de structures Tache et de taille nbTaches + * @param nbTaches Nombre de tâches à créer + * @return Un tableau de pointeurs vers des structures Tache +*/ +Tache** creerTabTache(int nbTaches) +{ + Tache** tabTaches; + tabTaches = (Tache**)malloc(nbTaches * sizeof(Tache*)); + + if (tabTaches == NULL) + { + printf("[ERREUR] - Problème d'allocation mémoire.\n"); + exit(1); + } + + for (int i = 0; i < nbTaches; i++) + { + tabTaches[i] = (Tache*)malloc(sizeof(Tache)); + } + + return tabTaches; +} + +/** + * @brief Libère la mémoire allouée pour le tableau de tâches + * @param nbTaches Nombre de tâches à libérer dans le tableau + * @param tabTaches Tableau de tâches à libérer + * @return void +*/ +void freeTabTache(int nbTaches, Tache** tabTaches) +{ + for (int i = 0; i < nbTaches; i++) + { + free(tabTaches[i]); + } + + free(tabTaches); +} \ No newline at end of file