Salut à tous :-)

Bon voilà, je veux écrire une fonction en C qui reçoit un pointeur de type int et l’initialise :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <stdlib.h>
 
int init(int* x) {
    x = (int*) malloc(sizeof (int));
    if (x == NULL) return 0;
    else {
        *x = 90;
        return 1;
    }
}
 
int main() {
    int *r;
    init(r);
    if (!init(r)) printf("Memoire insufisante");
    else
        printf("%d", *r);
    return 0;
}
Mais le problème c'est que le programme plante lors de l'exécution.
Où est-il le Bug ?

Merci d'avance.