配列の内容を初期化する方法【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;
}
