Я знаю, что этот вопрос может быть отмечен как дубликат разницы между 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.