質問が二つあるんですけれど、
(1)どうして、この二つの関数は引数の並びが違うんでしょうか?
void *calloc(size_t nelem, size_t elsize);
void *malloc(size_t size);
同じにしてもらったほうが、規則性があって分かりやすいような気がするんですが。

(2)
int *p = (int *)calloc(10, sizeof(int));
int *p = (int *)calloc( 1, 10*sizeof(int));
は同じですか?