この質問は、mallocとcallocの違いの重複としてマークされている可能性があることは知っていますが、それでも質問したいと思います。
callocがメモリブロックを初期化することは知っていますが、ここでの私の質問はその部分に焦点を当てていません。
私の質問は
mallocの定義は、指定されたサイズのメモリのブロックを割り当てることを示しています。
そしてcallocは、それぞれが同じサイズのメモリの複数のブロックを割り当てると言います。
1ブロックのメモリと複数ブロックのメモリのこの割り当ては、2つの間の本当の違いですか?
callocで実行できるmallocを使用して同じことができると思うからです。
例えば :
int *ptr;
ptr=(int *) malloc(100 * (sizeof(int)));
と
int *ptr;
ptr=(int *) calloc(100,sizeof(int));
intに必要なメモリの100倍を割り当てることになります。