[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

自動変数

pointこの用語のポイント

pointC言語における、ローカル変数だよ

pointその変数を宣言した関数の中でだけ有効だよ

pointその変数を宣言した関数の実行が終了すると、領域が解放されるよ

スポンサーリンク

簡単に書くよ

自動変数とは

C言語における、普通のローカル変数のこと。
定義としては

その変数を宣言した関数の中でだけ有効な変数で、その関数の実行が終了すると、領域が解放される変数のこと
らしいですけどね。

image piyo

詳しく書くよ

「自動変数」という言葉を調べているということは、C言語とかC++とかのお勉強中ですかね?
もしそうであれば専門家予備軍、少しだけ小難しく書いても大丈夫ですよね?

とは言っても、そこまで難しくはありませんのでご安心ください。

void func1(){
  int a;
}

の「int a;」のように、普通のローカル変数のことを「自動変数」とも言います。これだけ。
使うときに「自動的に」領域を確保して、関数の終了と共に「自動的に」破棄してくれるから「自動変数」ね。

自動変数

自動変数は「auto変数」とも呼ばれます。
一応

auto int a;


と書くのが正式な書き方のようですが、誰もそんな風には書いていません。
普通に

int a;

と書けば、勝手に自動変数扱いになります。

この「自動変数」という言葉がわざわざ登場するのは「静的変数(static変数)」と比較するときでしょうか。
あるいは資格試験のお勉強をしているときでしょうかね。
実際のお仕事現場で耳にする機会はそこまで多くないと思います。

あと、特に普段意識する必要はないでしょうが、自動変数はスタック領域上に変数の領域を確保します。
malloc等の関数も動的にメモリ領域を確保しますが、こちらはヒープ領域に確保します。
「だからどうした?」という気もしなくはないですが、余裕があれば覚えてあげてください。

image piyo2

一言でまとめるよ

まぁ「自動変数」って単語が出てきたら「普通のローカル変数のことなんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク