Files
DEV1.1
CM1
CM2
DEV1.1bis
Entrainements
SAé
TP01
TP03
TP05
TP06
TP07
TP08
TP09
TP10
TP11
TP12
TP13
TP14
TP15
TP16
TP17
TP19
TP20
TP21
TP22
TP23
TP24
TP25
TP27
TP28
TP29
TP29_reponses.txt
test.c
TP30
TP31
controle_machine_2_B
commande_grep
simoes_CM1.tar.gz
simoes_CM2.tar.gz
SAE11_2024
SCR
.gitignore
README.md
DEV/DEV1.1/TP29/test.c

50 lines
686 B
C
Raw Normal View History

2025-01-07 15:07:12 +01:00
# include <stdio.h>
# include <stdlib.h>
struct maillon_s {
char valeur;
struct maillon_s* suivant;
};
typedef struct maillon_s pile;
void push(pile* p, char c) {
pile* s = p;
s = (pile*) malloc(sizeof(pile));
p->valeur = c;
p->suivant = s;
}
int empty(pile* p) {
return (p == NULL);
}
char pop(pile* p) {
if (!empty) {
pile* s = p;
free(p);
return s->valeur;
}
}
void affiche_pile(pile* p) {
pile* s;
for (s = p; s->suivant != NULL; s = s->suivant) {
printf("| %c |\n", s->valeur);
}
printf("-----\n");
}
int main(void) {
pile* p;
push(p, 'A');
affiche_pile(p);
push(p, 'B');
affiche_pile(p);
push(p, 'C');
affiche_pile(p);
return EXIT_SUCCESS;
}