「第9回 Cにおける識別子の有効範囲と変数の生存期間 – @IT」が公開されています。型修飾子や、識別子の有効範囲関係の説明です。久々の公開なので待ちくたびれていた人もいるかもしれません。
const、volatileといった型修飾子についての説明からはじまり、識別子の有効範囲(スコープ)、オブジェクト(変数)の記憶域期間まで説明をしています。スコープについて理解をしていないと、なんでもかんでもグローバル変数として用意してしまい、あとでスパゲッティなコードになってしまうことも多いので、できるだけ使う場所に制限して変数などは用意するようにしましょう。
とはいえ、開発が進むと当初の想定とは違った用途で利用したくなる変数や関数もあります。そんなときは、適切なタイミングでリファクタリング(プログラムを見直して、より再利用しやすいプログラムへ修正)することで対応できるようになりたいものです。
変数の生存期間については、シングルプロセスのプログラムでは、あまり気にすることはないでしょうが、マルチプロセスやネットワークプログラムでは、意識しないとはまることが多いはずです。また、メモリサイズに制限があったりすると、スタックで利用できるメモリ領域やグローバル変数が配置できるメモリ領域を意識する必要がでてきます。その場合には、これらの内容が関係してくるので、基本を理解しておく必要があります。
関連書籍: