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