Dois argumentos para calloc

Porquecalloc pegue dois argumentos em vez de um comomalloc?

Especificamente, já que não há diferença entre (ou existe?) Entre as seguintes expressões:

calloc (a, b);
calloc (b, a);
calloc (a * b, 1);
calloc (1, a * b);

por que não aceitar apenas o número total de bytes a serem alocados? Qual é a lógica por trás dessa interface? E por que isso não se aplica ao malloc?

questionAnswers(5)

yourAnswerToTheQuestion