J’essaie d’implémenter une fonction qui fera une copie de la liste pointée par paramètre. Je stocke les pointeurs principaux sur les nœuds d’un tableau et le paramètre correspond à son index. Ceci est ma tentative:
void copy(node **array, int *amount_of_lists, int parameter) { node *current = array[parameter]; array[(*amount_of_lists) - 1] = malloc(sizeof(node)); node *new_list = array[(*amount_of_lists) - 1]; while(current->next != NULL) { new_list->next = malloc(sizeof(node)); new_list->str = current->str; current = current->next; new_list = new_list->next; } }
Avant d’appeler la fonction de copie, j’alloue de la mémoire au nouveau pointeur principal du tableau mentionné (dernier index (nombre de listes – 1)). Malheureusement, quelque chose ne va pas dans cette fonction; est-ce que quelqu’un sait à quoi ça devrait ressembler?