sock_addr_in
前学期に受講したシステム プログラミングのクラスでは、基本的なクライアント/サーバーを C で実装する必要がありました。や char バッファー (クライアントとサーバー間でデータをやり取りするために使用したもの)などの構造体を初期化するとき、教授は初期化せbzero
ずに使用するように指示されmemset
ました。彼は理由を説明していませんが、これに正当な理由があるかどうか知りたいですか?
ここに表示されます: http://fdiv.net/2009/01/14/memset-vs-bzero-ultimate-showdownはbzero
、メモリをゼロにするだけなので、より効率的です。追加のチェックを行う必要memset
があります。memset
それでも、メモリをゼロにするために絶対に使用しない理由のようには思えません。
bzero
非推奨と見なされ、さらに標準の C 関数ではありません。マニュアルによると、この理由からmemset
優先されます。bzero
では、なぜbzero
over を使用したいのでしょうmemset
か? 効率の向上のためだけですか、それともそれ以上のことですか? 同様に、それを新しいプログラムの事実上の推奨オプションにするmemset
以上の利点は何ですか?bzero