の後に。が続くcalloc()よりも好ましいかどうか疑問に思いました。後者は、メモリを割り当てて初期化する最も一般的な方法のようです。mallocmemset
githubコード検索では、多くのテストと実装が見つかりますcallocが、最初のページ数では、実際にを使用しているコードはありませんcalloc。
使用または使用を推奨するプロジェクト/組織、およびそれを推奨callocする状況を知っている人はいますか?
以下のコメントと回答から、これまでに浮かび上がってきたいくつかの考えを以下に示します。
calloc(n, size)で可能なオーバーフローを防ぐことができますmalloc(n * size)mallocとmemsetを組み合わせると、 callocはすでにゼロになっていることがわかっているページを要求する機会が与えられます。
callocの欠点は、組み合わせた手順によって、mallocの周りの他のラッパーが除外される可能性があることです。