Teniendo en cuenta este código C compilado con gcc 4.3.3malloc puesta a cero de la memoria?
#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;
}
que sería de esperar que la salida sea lo que hubiera en la memoria que malloc() devuelve, sino que la salida es 0. Es malloc poniendo a cero la memoria ¿vuelve? Si es así, ¿por qué?
¿Esta depuración o versión? – ChrisF
Lo que espera es el caso. Emite lo que estaba en la memoria que devuelve malloc(), que resultó ser cero. –