C ローカル変数とグローバル変数の違い: 可視性: ローカル変数は定義関数に限定されますが、グローバル変数はプログラム全体で参照できます。メモリ割り当て: ローカル変数はスタックに割り当てられ、グローバル変数はグローバル データ領域に割り当てられます。スコープ: ローカル変数は関数内にあり、グローバル変数はプログラム全体にあります。初期化: ローカル変数は関数の呼び出し時に初期化され、グローバル変数はプログラムの開始時に初期化されます。再作成: ローカル変数は関数呼び出しごとに再作成されますが、グローバル変数はプログラムの開始時にのみ作成されます。
C では、ローカル変数とグローバル変数の間に重要な違いがあります。これらの違いを理解してください。効率的で保守可能なコードを作成するために重要です。
サンプル コード:
void myFunction() { int localVariable = 5; // 局部变量 // ... 使用 localVariable } int main() { myFunction(); // localVariable 无法访问,因为它不在 main() 函数的范围内 }
サンプルコード:
int globalVariable = 10; // 全局变量 void myFunction() { // ... 使用 globalVariable } int main() { // ... 使用 globalVariable }
特徴 | ローカル変数 | グローバル変数 |
---|---|---|
可視性 | 変数が定義されている関数に限定されます | プログラム全体 |
ライフサイクル | 関数呼び出し中 | #プログラム実行中|
スタック上 | #グローバル データ領域内 | |
関数内 | #プログラム全体内初期化 | |
#プログラムの開始時 | 再作成 | 関数が呼び出されるたび |
#実際のケース | #ローカル変数の例次の例では、ローカル変数 |
がプログラム全体で表示され、関数が呼び出されるたびに更新されます: 以上がC++ 関数のローカル変数とグローバル変数の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。void greet(std::string name) {
std::cout << "Hello, " << name << "!" << std::endl;
}
int main() {
greet("John");
greet("Mary"); // 局部变量 name 将重新创建
}