私はANSI Cプログラミング言語を研究していましたが、導入時にはこう書いています:グローバル変数はCの自動変数にありますか?
"ローカル変数は一般に"自動 "であるか、呼び出すたびに新たに作成されます。
変数の割り当てと割り当て解除は、javaのスタックフレームロジックで動作すると思います。グローバル変数も自動化されていますか?スタックフレームの出入りは、.cファイル全体の範囲内にあるので、ローカル変数よりもはるかに少なくなります。私はあなたが他のファイルから呼び出す変数の範囲がどのように機能するのかわかりません。
グローバル変数には固定アドレスがあり、自動ではありません。それらはプログラムの開始時に割り当てられ、実行中にそのように保持されます。 –
いいえ。ファイルスコープオブジェクトには、静的な記憶期間があります。 – EOF
いいえ: 'static 'や' register'(または 'extern')キーワードのない関数の中で定義された変数は' auto'変数です。理論的には、キーワード 'auto'を接頭辞として使用できます。もしあなたが実際にキーワードを追加するならば、あなたは撃たれるべきです(目撃者C++は完全に別の目的のために完全に取り上げています)。そして、あなたはC言語のキーワードを見いだすと、 'auto'を書いた人を彼らの邪悪なやり方を悔い改めさせる。 –