2017-04-11 31 views
-3

スタティック変数はグローバル変数の代替ですか? それは何no.Thenであれば、私はグローバル変数の代わりに

+3

_static変数とは何ですか? –

+0

ローカル変数はグローバル変数の代替です。しかし真剣に、 "代替"のためのあなたの要件は何ですか? – kaylum

+0

代替グローバル変数が必要なのはなぜですか?同じ目的を果たす2つの機能を持つことは冗長です。あなたが必要とするより多くの/余分な機能を持っていない限り。 – Haris

答えて

0

静的変数、それはだ(NY)変数と呼ばれるようなものは何もありません事前のためにあなたの答え前方 Thxをuと見てい C言語でのグローバル変数の選択肢保存期間はstaticです。

グローバル変数(ファイルスコープ内にある)の保存期間はstaticですが、ローカルスコープ変数もまたstaticの記憶域を持つことができます。それらは相互に排他的ではありません。したがって、そのような「代替」はありません。

、彼らは実行を通じてそれらの値を保持static記憶域期間を持つ変数として、あなたは「グローバル」と「静的なローカルスコープは」(それは何の意味もある)ことを感じるかもしれない「代替」です。つまり、抽象化の観点から、他の翻訳単位からアクセスする変数を必要としない場合は、その変数をファイルスコープに入れる必要はありません。

staticの記憶域を持つローカルスコープ変数は、目的に合っている場合、ファイルスコープ内に変数を持つよりも優れたアプローチです。

関連する問題