next up previous contents
Next: 8.3 変数/関数のスコープ Up: 8. 変数/関数のライフタイムとスコープ Previous: 8.1 変数/関数の宣言

8.2 制御式と変数/関数宣言

if式のthen部での変数宣言を見てみます。例えば、下記のようなプログ ラムがあった場合、


if (x < 20)

var a = 50 ;

変数 aが定義されるかどうかは、x の値に依存します。x が20より小さい場合 には、変数宣言式が実行され、変数 a が存在するようになりますが、そうで ない時には、変数 a は存在しません。

このような、変則的な変数/関数宣言はプログラムのメンテナンス性をかなり 悪くするので、あまり使用しないほうがよいでしょう。Cmm でこのような仕様 を定義しているには、関数の可変引数の利用をしやすくするためです。(可変 引数についての詳細は、「可変引数サポート - 特殊演算子」 (7.7.2節,[*]頁)に記してありま す。

なお、次節に記すように、then部がブロック式の場合は状況が異なります。


next up previous contents
Next: 8.3 変数/関数のスコープ Up: 8. 変数/関数のライフタイムとスコープ Previous: 8.1 変数/関数の宣言
Tetsuo Ono
1998-11-05