定義:変数の寿命は、実行中のプログラムのメモリスペースを取る時間です。
1.静的生存
プログラムは、プログラムの終了によって起動時に割り当てから撤退。
以下のような:グローバル変数
2.自動生存
文が複合終了すると、そのプログラムの実行複合文を定義するために割り当てからの回復。
以下のような:ローカル変数、関数パラメータ
3.ダイナミック生存
割り当てるための新しい操作やmalloc関数を使用すると、コールバックするには、delete演算子またはfree関数を使用します。
注意:
定義1. ローカル変数、自動車、静的の使用、明示的に登録し、その寿命を示しています。
オート:デフォルトでは、自動生存
静的:静的寿命、関数が複数回呼び出されたときに、あなたができる最後の呼び出しの結果を保持します。
登録:自動寿命、及びその以外の自動推奨(必ずしもそうではない) CPUレジスタ内のローカル変数のコンパイラ空間分布を、その目的は、ローカル変数へのアクセスの効率を改善することです。
2.メモリ空間は4つの分割された静的データ領域、コード領域、スタック領域、ヒープ領域
静的データ領域:グローバル変数、ローカル変数、スタティックメモリクラス、定数
エリアコード:コード機能
スタック領域:ローカル変数の自動ストレージ・クラス、関数パラメータ、関数呼び出しに関する情報(例えば、戻り値)
ヒープ:動的変数
静的データ領域とコード領域のサイズは固定され、変更スタック領域とヒープ領域(最大空間にオペレーティング・システムが一定の制限を持っているが)のサイズでプログラムを実行します。
3.コンパイラが自動的に暗黙的に可変の静的寿命うビットモードを0に初期化され、他の変数が初期化されない(スペースを使用して値を有し、従って、固定されていません)