gcc コンパイルで規格を指定するとき

久々に C を書いていて、以下のような for 文を書くとコンパイルの際に怒られたので、調べてみました。 忘れないようにメモ。(ファイル名は適当です)

  // hoge.c
  for (int i = 0; i < N; ++i) {
    // do something
  }

以下のようなエラーが。。。

$ gcc hoge.c -o hoge 
hoge.c:8: error: ‘for’ loop initial declaration used outside C99 mode
解法

gcc の -std オプションを指定するといいみたいです。

$ gcc hoge.c -o hoge -std=c99
// エラー無し