自動変数 【automatic variable】 オート変数 / auto変数

概要

自動変数(automatic variable)とは、C言語などの変数の分類の一つで、メモリ領域の割り当てと解放が自動的に繰り返されるもの。ローカル変数デフォルトでこの方式で用意される。

CやC++言語などでは、関数やコードブロックの中で宣言した変数はその中でのみ参照できる「ローカル変数」(local variable)となる。その際、「auto int x;」のようにauto修飾子で宣言をうと、その変数は自動変数として扱われ、関数などの開始時に自動的にメモリ領域が割り当てられ、終了時に自動的に解放(変数の内容は破棄)される。

一方、「static int y;」のようにstaticキーワードで宣言すると、その変数静的変数(この場合は静的ローカル変数)となり、実行時に最初に確保されたメモリ領域がそのままプログラム終了まで存続し、何度関数を呼び出しても同じ領域の同じ内容が参照される。通常は自動変数を使う方が多いためautoは省略可能で、staticを指定しなければ自動変数とみなされる。

このように、変数実行時メモリ上での取り扱いによって分類する考え方を「記憶クラス」と呼び、C言語の場合は自動変数と静的変数の他に外部変数(関数外で宣言され、すべての関数などから同じように参照できる)がある。

(2021.6.25更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる