Я знаю, что этот вопрос может быть помечен как дубликат различия между malloc и calloc, но все же я хотел бы задать его.
я знаю, что calloc инициирует блок памяти, здесь мой вопрос не фокусируется на этой части.
мой вопрос
определение malloc говорит, что оно выделяет блок памяти указанного размера.
и calloc говорит, что выделяет несколько блоков памяти, каждый из которых имеет одинаковый размер.
Является ли это распределение одного блока памяти и нескольких блоков памяти реальной разницей между ними?
потому что я чувствую, что мы можем сделать то же самое, используя malloc, что можно сделать с помощью calloc.
например:
int *ptr;
ptr=(int *) malloc(100 * (sizeof(int)));
и
int *ptr;
ptr=(int *) calloc(100,sizeof(int));
в конечном итоге выделит в 100 раз больше памяти, необходимой для int.