タグ

柴田望洋に関するmohnoのブックマーク (1)

  • BohYoh.com-C/C++ FAQ callocとmallocの違いは何ですか。

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

    mohno
    mohno 2013/04/24
    ふと検索して見つけたら「calloc関数は、確保した領域の全てのビットを0で埋める動作を行う…浮動小数点数やポインタに関しては保証されません」←え? と思ったが、柴田望洋氏だった。規格書どっかにあったかなあ。
  • 1