variables c
C ++の変数の詳細な調査。
これで フルC ++トレーニングシリーズ このチュートリアルでは、データを格納するためにメモリを割り当てるために必要なエンティティであるC ++の変数について説明します。プログラミングはデータの操作と処理に他なりません。
私たちがデータを扱うとき、プログラマーがこのデータをコンピューターのメモリーに保存する方法がなければなりません。
このデータがプログラム内を行き来するとき、プログラマーはその特定のメモリストレージに名前を付け、そのデータが使用するメモリの量と保存されるデータのタイプを知っている必要があります。
これらすべての考慮事項は、可変エンティティを構成します。したがって、変数にはデータ型があります。これは、変数を名前とデータのサイズで識別できるようにする識別子です。
C ++には、定数、配列、その他のデータ構造、データを処理する関数など、他にも多くのエンティティがありますが、変数は最も単純なエンティティであるため、最初に説明します。
このチュートリアルでは、変数の宣言からC ++での変数のさまざまなスコープまで、変数に関するすべての詳細について説明します。
学習内容:
変数の宣言/定義
変数の宣言/定義は、変数のデータ型とそれに続く変数名で構成されます。宣言は、この変数用に予約するメモリの量をコンパイラに指示します(データ型によって異なります)。
変数のデータ型は、任意の有効なC ++データ型にすることができます(C ++でサポートされる有効なデータ型はすでに確認済みです)。変数の名前は、前のチュートリアルの1つで説明した有効な識別子である必要があります。
以下は、いくつかの有効な変数宣言です。
例を含むUNIXのsortコマンド
int x, y, z; char mychar; float annual_salary;
最初の宣言も定義であり、名前がx、y、zのint型の3つの変数を作成し、それぞれにメモリスペースを予約するようにコンパイラに指示します。
同様に、mycharは文字型の変数であり、annual_salaryはfloat型の変数です。
変数の初期化
変数は、宣言時に初期化または初期値で割り当てることもできます。この初期化子は、次のように「=」記号とそれに続く定数値/式で構成されます。
タイプvariable_name = value;
注意 :変数宣言に初期値がない場合、コンパイラーは静的ストレージを使用して変数をnullに初期化し、他のすべての変数を未定義に初期化します。
以下に示すのは、イニシャライザーを使用した変数の例です。
float PI = 3.142; int payday = 1; char firstChar = ‘A’;
変数はコンパイル時に評価されるため、使用する前にすべての変数を宣言する必要があります。
変数のL値とR値
L値とR値は、変数定義の場合に関連します。
式がメモリ位置を参照する場合、式は「l値」であると言います。 L値は、式の左側または右側に表示されます。
式がメモリ位置のデータ値を参照する場合、式は「R値」です。値を割り当てることはできません。したがって、R値式を式の左側に表示することはできません。右側にのみ表示されます。
したがって、次のステートメントがある場合:
Int I = 20;
これは、変数「I」がl値であり、値20がR値であることを意味します。
私たちが次のようなものを持っている場合
5 = 10;
定数値が左側に表示されることはないため、これは無効な式です。
変数のサイズ
変数のサイズは、変数のデータ型のサイズに他なりません。データ型チュートリアルで「sizeof」演算子を使用してデータ型のサイズを見つけることができることはすでに見てきました。
異なるタイプの3つの変数を宣言した次のプログラムについて考えてみます。
#include using namespace std; int main() { int x=10; float salary; double average; cout<<'
size of x:'< 出力:
x:4のサイズ
給与の大きさ:4
平均のサイズ:8
上記のプログラムの出力を確認すると、3つの変数のサイズは、変数のデータ型のサイズに他ならないことがわかります。
可変スコープ
変数スコープは、変数がアクティブなままである領域です。変数のスコープは、宣言されたポイントから始まります。これは他のエンティティにも当てはまります。
C ++では、変数を宣言する場所が3つあります。
#1)ローカル変数
特定のブロックまたは関数内で宣言された変数は、ローカル変数と呼ばれます。これらの変数はアクティブであり、宣言されているブロックまたは関数内でのみアクセスできます。ブロックまたは関数の外部からはアクセスできません。
#2)グローバル変数
グローバル変数は本質的にグローバルです。つまり、プログラムの外部で宣言されます。これは、メイン機能を含むすべての機能にアクセスできることを意味します。グローバル変数はプログラム全体でアクティブなままであり、プログラムが終了したときにのみスコープ外になります。
次のプログラムは、C ++でのグローバル変数とローカル変数の使用法を示しています。
#include using namespace std; int globalVar = 20; int main() { int x=10; float salary = 10000.00; cout<<'
Value of x:'< 出力:
x:10の値
給与の価値:10000
globalVar:20の値
同じもののスクリーンショットを以下に示します。

上記のプログラムでは、2つのローカル変数xとsalary、および別のグローバル変数globalVarがあります。これらの変数の値を出力すると、main関数内でもglobalVarにアクセスできることがわかります。
注意: 異なるスコープに同じ名前の変数を含めることもできます。したがって、同じ名前のローカル変数とグローバル変数がある場合、ローカル変数は同じ名前の他の変数よりも優先されます。
結論
これはすべてC ++の変数に関するものです。
次のチュートリアルでは、C ++で使用される定数またはリテラルについて説明します。
=> ここでC ++トレーニングシリーズ全体を探してください
推奨読書