When I dynamically allocate memory in C with a function of the malloc
family is there some rule (coming from the C standard or the inner workings of an OS) as to what the initial value of that memory is?
int* ptr = malloc(sizeof (*ptr));
bool b = *ptr == 0; // always true?