Cの変数のスコープ

スコープとは何か、Cでどのように機能するかを学ぶ

で変数を定義するときCプログラム、あなたがそれを宣言する場所に応じて、それは異なるでしょう範囲

これは、一部の場所では利用できるが、他の場所では利用できないことを意味します。

位置によって、2種類の変数が決まります。

  • グローバル変数
  • ローカル変数

これが違いです。関数内で宣言された変数は、次のようなローカル変数です。

int main(void) {
  int age = 37;
}

ローカル変数には関数内からのみアクセスでき、関数が終了するとその存在を停止します。それらはメモリからクリアされます(いくつかの例外を除く)。

関数の外部で定義された変数は、次の例のようにグローバル変数です。

int age = 37;

int main(void) { /* … */ }

グローバル変数は、プログラムの任意の関数からアクセスでき、プログラムが終了するまで、プログラムの実行全体で使用できます。

関数が終了すると、ローカル変数は使用できなくなると述べました。

その理由は、ローカル変数がで宣言されているためです。スタック、デフォルトでは、を使用してヒープに明示的に割り当てない限り、ポインタ、しかし、あなたは自分でメモリを管理する必要があります。

私の無料ダウンロードCハンドブック


その他のclangチュートリアル: