liste doublement chainée circulaire
bonjour,
J'essaie de faire une liste doublement chainée circulaire mais sa seg fault dès que je l'affiché.. :(
Donc, ma structure est celle ci:
Code:
1 2 3 4 5 6 7
| typedef struct s_arguments
{
char *str;
int select;
struct s_arguments *nxt;
struct s_arguments *prv;
} t_arguments; |
et le code l'utilisant est celui ci:
Code:
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
| t_arguments *add_elem(t_arguments *first, t_arguments *cur, char *str)
{
t_arguments *new_elem;
new_elem = my_malloc(sizeof(*new_elem));
new_elem->str = my_strdup(str);
new_elem->select = 0;
new_elem->prv = first;
new_elem->nxt = cur;
return (new_elem);
}
t_arguments *sort_in_list(int ac, char **av)
{
int i;
t_arguments *my_arg;
t_arguments *new_elem;
i = 1;
my_arg = 0;
new_elem = my_arg;
while (i < ac)
{
new_elem = add_elem(my_arg, new_elem, av[i]);
new_elem = new_elem->nxt;
i++;
}
my_putstr(my_arg->str);
return (my_arg);
} |