__ ___ _ _ _ ____ / / ___ / _ \__ _ _ _ ___ __| |_ _ | || ||___ \ / / / _ \ / /_)/ _` | | | / __| / _` | | | | | || |_ __) | / /__| __/ / ___/ (_| | |_| \__ \ | (_| | |_| | |__ _/ __/ \____/\___| \/ \__,_|\__, |___/ \__,_|\__,_| |_||_____| |___/
$> ls -l
-rwrw-rw- 1 db0 db0 62.1 Ko 2015-03-30 19:37 Impatient C
-rwrw-rw- 1 db0 db0 3.5 Ko 2015-03-30 19:37 Impatient SCM
-rwrw-rw- 1 db0 db0 3.0 Ko 2015-03-30 19:37 Impatient Emacs
-rwrw-rw- 1 db0 db0 2.4 Ko 2015-03-30 19:37 Impatient Man Pages
-rwrw-rw- 1 db0 db0 10.5 Ko 2015-03-30 19:37 Impatient Perl
-rwrw-rw- 1 db0 db0 17.3 Ko 2015-03-30 19:37 Impatient Python
-rwrw-rw- 1 db0 db0 13.6 Ko 2015-03-30 19:37 Impatient Shell Debutant
-rwrw-rw- 1 db0 db0 16.4 Ko 2015-03-30 19:37 Impatient Shell Script
-rwrw-rw- 1 db0 db0 3.4 Ko 2015-03-30 19:37 Impatient Shell
-rwrw-rw- 1 db0 db0 1.8 Ko 2015-03-30 19:37 Impatient Vim
Warning
Contrairement aux autres articles, ceux de cette listes n'ont jamais été vérifiés ni relus depuis que je les ai rédigés en première année. Ils peuvent donc contenir des erreurs. Les informations qu'ils contiennent sont à prendre avec des pincettes et à vérifier.
Archives
-rwrw-rw- 1 db0 db0 0.9 Ko 2015-03-30 19:37 Financer Ses Etudes-rwrw-rw- 1 db0 db0 2.4 Ko 2015-03-30 19:37 Languages A Apprendre En Tek1
-rwrw-rw- 1 db0 db0 1.1 Ko 2015-03-30 19:37 Makefile Le Retour
-rwrw-rw- 1 db0 db0 3.0 Ko 2015-03-30 19:37 Makefile De Base
-rwrw-rw- 1 db0 db0 1.2 Ko 2015-03-30 19:37 Pourquoi_printf_met_tout_a_la_fin
-rwrw-rw- 1 db0 db0 0.7 Ko 2015-03-30 19:37 Pourquoi_utiliser_getnextline_plutot_que_read_pour_le_minishell_et_autre_42sh
-rwrw-rw- 1 db0 db0 4.3 Ko 2015-03-30 19:37 Taille De Donnees Et Structures
-rwrw-rw- 1 db0 db0 1.5 Ko 2015-03-30 19:37 Cflags
-rwrw-rw- 1 db0 db0 1.6 Ko 2015-03-30 19:37 Hidenp.c
-rwrw-rw- 1 db0 db0 0.1 Ko 2015-03-30 19:37 Liens_utiles_my_select
-rwrw-rw- 1 db0 db0 2.1 Ko 2015-03-30 19:37 List_chainees.c
-rwrw-rw- 1 db0 db0 1.0 Ko 2015-03-30 19:37 Memo_rendu
-rwrw-rw- 1 db0 db0 4.8 Ko 2015-03-30 19:37 Minishell.c
-rwrw-rw- 1 db0 db0 32.7 Ko 2015-03-30 19:37 My_printf.c
-rwrw-rw- 1 db0 db0 4.5 Ko 2015-03-30 19:37 Ordalphlong.c
-rwrw-rw- 1 db0 db0 3.7 Ko 2015-03-30 19:37 Qcm.txt
-rwrw-rw- 1 db0 db0 5.8 Ko 2015-03-30 19:37 Str_to_inttab.c
-rwrw-rw- 1 db0 db0 0.6 Ko 2015-03-30 19:37 Verifier_les_fuites_memoires
-rwrw-rw- 1 db0 db0 0.5 Ko 2015-03-30 19:37 Verifier_les_syscall
/*
** listes_chainees.c for j'explique a moutar_j comment on fait des listes chainees in /u/all/lepage_b/cu
**
** Made by barbara lepage
** Login
**
** Started on Fri Dec 18 11:54:44 2009 barbara lepage
** Last update Fri Dec 18 12:42:31 2009 barbara lepage
*/
/* Ce programme met dans une liste chainee ce qui lui est envoye en parametre.
Ne l'utilisez pas tel quel ! Essayez de comprendre comment il fonctionne,
puis refaites le sans regarder. */
#include
#include
typedef structs_list
{
char*data;
struct s_list*next;
}t_list;
t_list*put_arg_in_list(char **nb)
{
inti;
t_list*list; /* l'element deja remplie */
t_list*new; /* l'element que je suis en train de remplir */
/* Une liste chainee se remplit a l'envers. On part du dernier element,
c'est a dire NULL puisque le dernier element de la liste pointe
vers NULL */
list = NULL;
i = 0;
while (nb[i] != NULL)
{
new = malloc(sizeof(*new)); /* J'alloue en memoire mon nouvel element */
new->data = nb[i]; /* Je le remplie */
new->next = list; /* Je pointe vers l'element precedent (deja remplie) */
list = new; /* Je mets mon element en 'deja rempli' */
i++;
}
return (list); /* Je renvoie l'adresse du premier element de la liste.
Comme je remplie a l'envers, c'est le dernier element que j'ai creer. */
}
voidaff_list_to_test(t_list *list)
{
while (list != NULL)
{
write(1, list->data, 1); /* J'affiche l'element */
write(1, " ", 1);
list = list->next; /* Je passe a l'element suivant */
}
write(1, "\n", 1);
/*
Ici, j'affiche ma liste telle qu'elle a ete remplie, c'est a dire a l'envers.
Si je veux la remplir a l'endroit, j'aurais pu mettre en la remplissant i = argc - 1 et i--
Je peux aussi faire la fonction rev_list. Mais ca, c'est une autre histoire... ;-)
*/
}
intmain(int argc, char **argv)
{
t_list*list;
if (argc > 1)
{
list = put_arg_in_list(&argv[1]);
aff_list_to_test(list);
}
return (0);
}