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
| #include <stdio.h>
#include <stdlib.h>
typedef struct arbre
{
char byte;
struct arbre *gauche;
struct arbre *droite;
} *arbre;
void liberation (arbre *a);
int main (void)
{
arbre a;
a->byte = 'z';
a->gauche = NULL;
a->droite = NULL;
liberation (&a);
return 0;
}
void liberation (arbre *a)
{
if (!((*a)->gauche || (*a)->droite))
{
free (*a);
*a = NULL;
}
else
{
liberation (&(*a)->gauche);
liberation (&(*a)->droite);
free (*a);
*a = NULL;
}
return ;
} |