Translations of this page?:

memset

文法:

    #include <cstring>
    void* memset( void* バッファ, int 文字, size_t カウント );

memset()関数はカウントの文字数分、文字をコピーしてバッファに書き込みます。返り値はバッファへのポインタです。この関数はメモリブロックを何かの値で初期化したい場合に便利です。

サンプル:

     const int ARRAY_LENGTH = 300;
     char the_array[ARRAY_LENGTH];
     ...
     // 配列をすべてゼロで初期化します
     memset( the_array, '\0', ARRAY_LENGTH );

このコードは効率良くthe_arrayの値をすべてゼロにすることができます。

以下の表は、forループとmemsetのそれぞれの、文字の配列の初期化にかかる時間を比較したものです。初期化を行うデータサイズが増えれば増えるほど、明らかにmemsetが完了する時間が早くなっていきます:

配列のサイズ forループによる初期化 memset()による初期化
1000 0.016 0.017
10000 0.055 0.013
100000 0.443 0.029
1000000 4.337 0.291

関連トピック: memcmp, memcpy, memmove

 
• • • SitemapRecent changesRSScc