配列の内容を初期化する方法【Windows API】
C言語では配列を確保しても初期化されていないため、そのまま使用すると予期しない 動作をする可能性があります。そこで、メモリの内容を予め初期化するための関数が 用意されています。C言語では「memset」関数を使用するのが一般的でしたが、WindowsではAPIとして「FillMemory」や「ZeroMemory」といった関数が用意されています。
#include <windows.h> int main(int argc, char* argv[]) { char szBuff[256]; // Windows APIではFillMemoryが用意されている FillMemory(szBuff, sizeof(szBuff), '\0'); // Cの標準関数として memset が用意されている memset(szBuff, sizeof(szBuff), '\0'); // 上記のようにゼロクリアが目的の場合は専用APIのZeroMemoryが便利 ZeroMemory(szBuff, sizeof(szBuff)); return 0; }