Я читал: " Как восстановить c часть памяти, выделенной с помощью callo c? ". Теперь мне интересно, будет ли realloc
, за которым следует calloc
, обнулять новые байты, если блок больше.
Глупый пример:
#include <stdlib.h>
#include <string.h>
int test() {
char *mem;
mem = calloc(100, 1);
mem = realloc(mem, 120);
memset(mem + 100, 0, 20); // is this even necessary?
}
Я проверил это, и оно, кажется, обнулено - но я не уверен, всегда ли это так?