this code creates a "loop", where the first element point back to nothing and points to the next element (if there is one), if not, it points to nothing
typedef struct noeud
{
    struct noeud* point_suivant;
    struct noeud* point_precedent;
    int valeur;
    int n;
}t_noeud;
typedef struct anneau
{
    
    t_noeud* noeud;
    int nb_points;
}t_anneau;
this is t_noeud_init
t_noeud* t_noeud_init(const int valeur) {
    t_noeud* nouveau_noeud = (t_noeud*)malloc(sizeof(t_noeud));
    if (nouveau_noeud == NULL) {
        printf("EXIT_FAILURE");
        return NULL;
    }
    nouveau_noeud->valeur = valeur;
    nouveau_noeud->point_suivant = NULL;
    nouveau_noeud->point_precedent = NULL;
    return nouveau_noeud;
}
this is t_noeud_add
t_noeud* t_noeud_add(const int valeur, t_noeud* noeud_precedent) {
    t_noeud* nouveau_noeud = (t_noeud*)malloc(sizeof(t_noeud));
    if (nouveau_noeud == NULL) {
        printf("EXIT_FAILURE");
        return NULL;
    }
    noeud_precedent->point_suivant = nouveau_noeud;
    nouveau_noeud->valeur = valeur;
    nouveau_noeud->point_suivant = NULL;
    nouveau_noeud->point_precedent = noeud_precedent;
    return nouveau_noeud;
}
this is t_anneau_init
t_anneau* t_anneau_init() {//remplie de zero
    t_anneau* nouveau_anneau = (t_anneau*)malloc(sizeof(t_anneau));
    if (nouveau_anneau == NULL) {
        printf("EXIT_FAILURE");
        return NULL;
    }
    
    
    nouveau_anneau->noeud = t_noeud_init(zero);     
        nouveau_anneau->noeud->n = 0;
        nouveau_anneau->nb_points = 0;
        
        nouveau_anneau->noeud->point_suivant =
        t_noeud_add(zero, nouveau_anneau->noeud); 
            nouveau_anneau->noeud->point_suivant->n = 1;
            nouveau_anneau->nb_points = nouveau_anneau->nb_points + 1;
    nouveau_anneau->noeud->point_suivant->point_suivant = 
        t_noeud_add(zero, nouveau_anneau->noeud->point_suivant); 
            nouveau_anneau->noeud->point_suivant->point_suivant->n = 2;
            nouveau_anneau->nb_points = nouveau_anneau->nb_points + 1;
    nouveau_anneau->noeud->point_suivant->point_suivant->point_suivant = 
        t_noeud_add(zero, nouveau_anneau->noeud->point_suivant->point_suivant); 
            nouveau_anneau->noeud->point_suivant->point_suivant->point_suivant->n = 3;
            nouveau_anneau->nb_points = nouveau_anneau->nb_points + 1;
    nouveau_anneau->noeud->point_suivant->point_suivant->point_suivant->point_suivant = 
        t_noeud_add(zero, nouveau_anneau->noeud->point_suivant->point_suivant->point_suivant); 
            nouveau_anneau->noeud->point_suivant->point_suivant->point_suivant->point_suivant->n = 4;
            nouveau_anneau->nb_points = nouveau_anneau->nb_points + 1;
    nouveau_anneau->noeud->point_suivant->point_suivant->point_suivant->point_suivant->point_suivant = 
        t_noeud_add(zero, nouveau_anneau->noeud->point_suivant->point_suivant->point_suivant->point_suivant); 
            nouveau_anneau->noeud->point_suivant->point_suivant->point_suivant->point_suivant->point_suivant->n = 5;
            nouveau_anneau->nb_points = nouveau_anneau->nb_points + 1;
    nouveau_anneau->noeud->point_suivant->point_suivant->point_suivant->point_suivant->point_suivant->point_suivant = 
        t_noeud_add(zero, nouveau_anneau->noeud->point_suivant->point_suivant->point_suivant->point_suivant->point_suivant); 
            nouveau_anneau->noeud->point_suivant->point_suivant->point_suivant->point_suivant->point_suivant->point_suivant->n = 6;
            nouveau_anneau->nb_points = nouveau_anneau->nb_points + 1;
    
    
    return nouveau_anneau;
}
this is a giant piece of code and that is why i would like to automate it but what i've tried does'nt work.
i tried someething like this:
for (int i = 0; i < 6; i++) {
        nouveau_anneau->noeud->point_suivant = t_noeud_add(zero, nouveau_anneau->noeud);
        nouveau_anneau->nb_points = nouveau_anneau->nb_points + 1;
        nouveau_anneau->noeud = nouveau_anneau->noeud->point_suivant;
    }
where it would build upon itself but cant quite seem to make it work.
any suggestions?
 
     
    