>>655, >>670
>>668 はどうですか?
なお、static な変数はプログラムの実行時に最初に一度だけ 0 で初期化されます。
したがって、>>662 の memset は必要ありません。