ホームページ  >  記事  >  バックエンド開発  >  C++ 関数のローカル変数とグローバル変数の違いは何ですか?

C++ 関数のローカル変数とグローバル変数の違いは何ですか?

WBOY
WBOYオリジナル
2024-04-19 15:42:01316ブラウズ

C ローカル変数とグローバル変数の違い: 可視性: ローカル変数は定義関数に限定されますが、グローバル変数はプログラム全体で参照できます。メモリ割り当て: ローカル変数はスタックに割り当てられ、グローバル変数はグローバル データ領域に割り当てられます。スコープ: ローカル変数は関数内にあり、グローバル変数はプログラム全体にあります。初期化: ローカル変数は関数の呼び出し時に初期化され、グローバル変数はプログラムの開始時に初期化されます。再作成: ローカル変数は関数呼び出しごとに再作成されますが、グローバル変数はプログラムの開始時にのみ作成されます。

C++ 函数的局部变量和全局变量有什么区别?

C 関数のローカル変数とグローバル変数: 大きな違い

C では、ローカル変数とグローバル変数の間に重要な違いがあります。これらの違いを理解してください。効率的で保守可能なコードを作成するために重要です。

ローカル変数

  • は関数内で定義され、関数スコープ内でのみ表示されます。
  • 関数が呼び出されたときに作成され、関数が返されたときに破棄されます。
  • ローカル変数は、関数が呼び出されるたびに再作成されます。

サンプル コード:

void myFunction() {
    int localVariable = 5; // 局部变量
    // ... 使用 localVariable
}

int main() {
    myFunction();
    // localVariable 无法访问,因为它不在 main() 函数的范围内
}

グローバル変数

  • は関数の外部で定義され、プログラム全体で参照できます。
  • プログラムの開始時に作成され、プログラムの終了時に破棄されます。
  • グローバル変数は、プログラム内のすべての関数に表示されます。

サンプルコード:

int globalVariable = 10; // 全局变量

void myFunction() {
    // ... 使用 globalVariable
}

int main() {
    // ... 使用 globalVariable
}

違い

#プログラム実行中##メモリ割り当て#スコープ#プログラム全体内初期化#関数の呼び出し時再作成関数が呼び出されるたび #プログラムの開始時のみ #ローカル変数の例 次の例では、ローカル変数 name は
特徴 ローカル変数 グローバル変数
可視性 変数が定義されている関数に限定されます プログラム全体
ライフサイクル 関数呼び出し中
スタック上 #グローバル データ領域内
関数内
#プログラムの開始時
#実際のケース
greet()

関数内でのみ使用され、関数が呼び出されるたびに再作成されます。グローバル変数の数

次の例では、グローバル変数

g_count

がプログラム全体で表示され、関数が呼び出されるたびに更新されます: <pre class='brush:cpp;toolbar:false;'>void greet(std::string name) { std::cout &lt;&lt; &quot;Hello, &quot; &lt;&lt; name &lt;&lt; &quot;!&quot; &lt;&lt; std::endl; } int main() { greet(&quot;John&quot;); greet(&quot;Mary&quot;); // 局部变量 name 将重新创建 }</pre>

以上がC++ 関数のローカル変数とグローバル変数の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。