2017-10-07 10 views
0

私はa = 3(グローバル変数と仮定します)を初期化して関数内のaの値を変更すると、プログラムを実行します。グローバル変数を更新し、プログラムの第2ランタイムで更新された値を使用するには

ここで、2回目のプログラムを実行すると、aの値は更新されません。これはa = 3と同じです。

aの値を更新する必要があります。次回プログラムを実行するときに更新された値を使用できますか?

+0

私は最小限の実例を提供できますか?あなたの質問から何を意味するのかを知ることは難しいですが( 'a 'の値をディスクに保存する必要があるように見えます)。 – norok2

+0

ようこそstackoverflow.com [ヘルプページ](http://stackoverflow.com/help)、特に[ここではどのトピックを聞くことができますか?](http://stackoverflow.com/help/)のセクションを読んでください。 on-topic)と[[どのような種類の質問を避けるべきですか?]](http://stackoverflow.com/help/dont-ask)を参照してください。また、[ツアーを受けてください](http://stackoverflow.com/tour)と[良い質問をする方法を読む](http://stackoverflow.com/help/how-to-ask)もご覧ください。最後に、[最小限の完全で検証可能な例](http://stackoverflow.com/help/mcve)の作成方法を学んでください。 –

+0

@ norok2 問題は次のとおりです。 プログラム内の管理者の場合(初期設定のint password = 1(パスワードprogは続行できません))次に、管理者は最初のランタイムprogでパスワードを変更します)、私は2回目のプログラムを実行するときにパスワードの値はまだ1ですが、それは更新されず、パスワードは同じままです。 – user160046

答えて

0

プログラムの静的な格納場所(グローバル変数が格納されている場所)は、プログラムではなく、プログラムの存続期間です。

コンピュータ上で実行されている各プロセス(プログラム)は、使用するためにOSからRAMメモリの定義された領域を取得します。

このメモリには、実行中のコード、読み取り専用(およびconst)変数、スタック(ローカル変数が常駐する場所)、ヒープ(動的に割り当てられた変数が常駐する場所)、静的変数およびいくつかのもの。

プログラムが終了すると、このメモリは解放され、再割り当てされるまで、このプロセスまたはプロセスに関連付けられなくなります。

2つの異なる実行で使用する場合は、データを(ハードドライブ上の)ファイルに保存します。

+0

データを動的に格納することは良いですか? – user160046

+0

いいえ、手直しするように編集します – Neo

+0

@ user160046編集済み、FYI。 – Neo

関連する問題