C++の変数のスコープ
スコープはプログラムの領域であり、大まかに言えば、変数を宣言できる場所は3つあります-
- ローカル変数と呼ばれる関数またはブロックの内部
- 仮パラメータと呼ばれる関数パラメータの定義。
- グローバル変数と呼ばれるすべての関数の外。
ローカル変数は、その関数またはコードブロック内にあるステートメントでのみ使用できます。ローカル変数は、それ自体で機能することは知られていません。
#include <iostream> using namespace std; int main () { // Local variable declaration: int a, b; int c; // actual initialization a = 10; b = 20; c = a + b; cout << c; return 0; }
30
グローバル変数は、すべての関数の外部、通常はプログラムの上で定義されます。グローバル変数は、プログラムの存続期間を通じてその値を保持します。グローバル変数には、任意の関数からアクセスできます。
#include <iostream> using namespace std; // Global variable declaration: int g; int main () { // Local variable declaration: int a, b; // actual initialization a = 10; b = 20; g = a + b; cout << g; return 0; }
30
プログラムはローカル変数とグローバル変数に同じ名前を付けることができますが、関数内のローカル変数の値が優先されます。同じrameでグローバル変数にアクセスするには、スコープ解決演算子を使用する必要があります。
#include <iostream> using namespace std; // Global variable declaration: int g = 20; int main () { // Local variable declaration: int g = 10; cout << g; // Local cout << ::g; // Global return 0; }
10 20
-
Pythonの変数のスコープ
プログラム内のすべての変数は、そのプログラム内のすべての場所でアクセスできるとは限りません。これは、変数を宣言した場所によって異なります。 変数のスコープは、特定の識別子にアクセスできるプログラムの部分を決定します。 Pythonには2つの基本的な変数スコープがあります- グローバル変数 ローカル変数 グローバル変数とローカル変数 関数本体の内部で定義された変数にはローカルスコープがあり、外部で定義された変数にはグローバルスコープがあります。 つまり、ローカル変数には宣言されている関数内でのみアクセスできますが、グローバル変数にはすべての関数からプログラム本体全体でアクセスできます。
-
Pythonのグローバル変数とローカル変数?
変数には、グローバル変数とローカル変数の2種類があります。 グローバル変数のスコープはプログラム全体ですが、ローカル変数のスコープはそれが定義されている関数に限定されています。 def func(): x = "Python" print(x) print(s) s = "Tutorialspoint" print(s) func() print(x) 上記のプログラムでは、xはローカル変数ですが、sはグローバル変数です。ローカル変数にアクセスできるのは、定義されている関数(上記のfunc())内でのみであり、スコープ外のローカル変数(func())