「C言語/関数」の版間の差分

削除された内容 追加された内容
Ef3 (トーク | 投稿記録)
→‎ローカル変数とグローバル変数: この節は、関数スコープの他、if文スコープ・for文スコープもあるので『スコープ』を軸に説明するべきでは?また変数以外の識別子についても。
タグ: 2017年版ソースエディター
Ef3 (トーク | 投稿記録)
タグ: 2017年版ソースエディター
403 行
そこで、関数スコープな変数の値を永続化する「記憶域クラス指定子static」があり、変数宣言に前置します。前の値は保存されていない。
 
*; スコープ
 
* スコープ
変数(などの識別子)の通用範囲のことをスコープと呼びます。
スコープは関数の本体を示す { から } までが代表的ですが、ブロック({ から } まで)もブロックスコープでブロック内で宣言された変数は、ブロックを抜けるとさん処参照できなくなります。
また、for文の第一項で宣言された変数のスコープは(たとえ { } で囲まれていなくても)もfor文がスコープになります。