malloc à zéro de la mémoire?

Donné ce code C compilé avec gcc 4.3.3

#include <stdio.h>
#include <stdlib.h>


int main(int argc, char * argv[])
{

    int * i;

    i = (int *) malloc(sizeof(int));

    printf("%d\n", *i);
    return 0;

}

J'attendrais la sortie de tout ce qui était dans la mémoire malloc() renvoie, mais au lieu de la sortie est de 0. Est malloc réinitialisation de la mémoire, il retourne? Si oui, pourquoi?

source d'informationauteur endeavormac