[解決済み] C言語の関数内の静的変数
2022-05-25 08:16:54
質問
プリントアウトされるのは何でしょうか?6 6 or 6 7? また、その理由は?
void foo()
{
static int x = 5;
x++;
printf("%d", x);
}
int main()
{
foo();
foo();
return 0;
}
どのように解決するのですか?
ここでは、寿命とスコープの2つの問題があります。
変数のスコープとは、変数名を見ることができる場所です。 ここでは
x
は関数の中だけで見ることができます。
foo()
.
変数のライフタイムとは、その変数が存在する期間のことです。 もし
x
が static というキーワードなしで定義されていた場合、その有効期限は
foo()
から戻るまでです。
foo()
からの戻り値; なので、呼び出すたびに 5 に再初期化されます。
キーワード static は変数の寿命をプログラムの寿命まで延長する働きをします。
foo()
.
関連
-
赤線の位置は必ずしも間違っていない:式は変更可能なlvalueでなければならないエラーは、この文とは別の場所に存在する可能性があります。
-
[解決済み] SQLiteのINSERT/per-secondのパフォーマンスを向上させる
-
[解決済み] Pythonで静的なクラス変数は可能ですか?
-
[解決済み] 静的クラスとシングルトンパターンの違い?
-
[解決済み] C言語における「static」の意味とは?
-
[解決済み] 静的な HTML ページにファビコンを追加する
-
[解決済み] Pythonの関数内の静的変数に相当するものは何ですか?
-
[解決済み] 静的変数が悪とされるのはなぜですか?
-
[解決済み] 新しい自分vs.新しい静止画
-
[解決済み】C言語の「static」関数とは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] stdinとSTDIN_FILENOの違いは何ですか?
-
[解決済み] flexible array member not at end of structエラーの原因は何ですか?
-
[解決済み] C言語の書式指定子 %ul と %lu の違いは何ですか?
-
[解決済み] char *とchar[]の違い [重複]
-
[解決済み] C言語における「static」の意味とは?
-
[解決済み] 配列のすべてのメンバーを同じ値で初期化するには?
-
[解決済み] Pythonの関数内の静的変数に相当するものは何ですか?
-
[解決済み] 演算子 *, /, +, -, % を使わずに 3 で割る。
-
[解決済み] while ( !feof (file) ) 」は、なぜいつも間違っているのですか?
-
[解決済み] FortranはC言語よりも重い計算を最適化しやすいですか?