パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

リーナス・トーバルズ氏、Linuxカーネルの開発を「C89」から「C11」に移行方針へ」記事へのコメント

  • by Anonymous Coward

    C++の勉強にかまけて、Cの進化には全然キャッチアップしてなかった俺みたいな奴へ

    > Cといえば、「ファイルスコープでない変数宣言がブロックの先頭になければならない」。
    > Cといえば、「//」は非標準。

    このへんはもう、C99で緩和(標準化)されてるから、もうこれだけでぐっとラクになってるよ!
    C11は、さらにその先。

    • by Anonymous Coward on 2022年03月08日 4時26分 (#4211543)

      ちなみにC99以前でも関数先頭以外で変数の宣言はできた。

      > 「ファイルスコープでない変数宣言がブロックの先頭になければならない」

      これを「関数の頭」だと誤解している人がすごく多くて、

      void func F () {
          int a = 1;
          printf("%d", a);
          {
              int b = 2;
              printf("%d", b);
          }
      }

      こういう書き方で関数の途中でも変数宣言できたんだよね。
      C99で{}でくくる必要もなくなったので今となってはもう使われない知識だけど。

      親コメント
      • by Anonymous Coward

        いまでも、ちょっと大きめのテンポラリな何かをスタックに置きたいときにそう書くようにしてる
        コンパイラが意図を酌んでくれてるかは確認してない

計算機科学者とは、壊れていないものを修理する人々のことである

処理中...