dポイントプレゼントキャンペーン実施中!

の違いはなんですか?

A 回答 (2件)

>メモリの取られ方で見るとどこが異いますか?



システムに依存します。

ノイマンアーキテクチャの多くでは
コード プログラムそのもの+const
データ (staticなローカル変数)+グローバル変数
ヒープ mallocで割り当てられた領域
スタック staticでない自動変数+関数呼び出しの引数の一部+戻り番地
レジスタ registerなローカル変数+関数呼び出しの引数の一部
    • good
    • 0

自動変数というのは、変数の生存期間の観点から捉えたもので、ローカル変数というのは、変数の有効範囲から捉えたものかと思います。



具体的には、自動変数は自動記憶域期間のオブジェクトのことですし、ローカル変数はブロック有効範囲(C++であれば、局所的な有効範囲)のオブジェクトのことです。
ローカル変数には静的記憶域期間のものも含まれますので、自動変数はローカル変数に一種ということになります。

この回答への補足

メモリについて調べていたのですが

コード プログラムそのもの
データ ローカル変数とグローバル変数
ヒープ マロックで割り当てられた領域
スタック 自動変数

らしいのですが、有効範囲とかは置いといて、メモリの取られ方で見るとどこが異いますか?

補足日時:2006/01/26 21:22
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!