calloc関数とmalloc関数は、いずれもプログラムの実行時に動的に記憶域を確保します。 10個のint型配列のための記憶域を確保するには、calloc(10, sizeof(int)); /* calloc(要素数, 要素の大きさ); */ あるいはmalloc(10 * sizeof(int); /* calloc(全体の大きさ); */ のいずれによっても行うことができます。たとえばsizeof(int)が2であれば、いずれも20バイトの領域を確保します。 なお、calloc関数は、確保した領域の全てのビットを0で埋める動作を行うことが、malloc関数との違いです。したがって、整数であれば値が0となることが保証されます(浮動小数点数やポインタに関しては保証されません)。 ■ 根拠 ■