problem in creating binary search tree in c language

The program has undefined behavior due to using an invalid size in the allocation of memory in statements

arbre=malloc(sizeof arbre);

and

p=malloc(sizeof arbre);

There are allocated memory for pointers instead of objects of the structure type.

You need to write

arbre=malloc(sizeof *arbre);

p=malloc(sizeof *arbre);