1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct s_list_chain{
char* value;
struct s_list_chain* next;
}linkedList;
linkedList* linkedList_new(char* value){
linkedList* node = (linkedList*) malloc (sizeof (linkedList));
node->value = value;
node->next = NULL;
return node;
}
linkedList* linkedList_add(linkedList* list, char* value){
linkedList *newlist = linkedList_new(value);
if (!list)
return newlist;
linkedList* head = list;
while (list->next)
list= list->next;
list->next=newlist;
return head;
}
void linkedList_display(linkedList* list){
while (list->next){
printf("%s ", list->value);
list = list->next;
}
printf("%s ", list->value);
}
int main()
{
char temp [256];
strcpy(temp, "insertion 1");
linkedList* listeChamps = NULL;
listeChamps = linkedList_add(listeChamps, temp);
strcpy(temp, "insertion 2");
listeChamps = linkedList_add(listeChamps, temp);
linkedList_display(listeChamps);
// Affiche : "insertion 2 insertion 2" et non pas "insertion 1 insertion 2"
system("PAUSE");
} |
Partager