| 12
 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