C++ 変数の型
変数は、プログラムが操作できる名前付きストレージを提供します。 C++ の各変数には、変数のメモリのサイズとレイアウトを決定する特定の型があります。そのメモリ内に格納できる値の範囲。および変数に適用できる操作のセット。
変数の名前は、文字、数字、およびアンダースコア文字で構成できます。文字またはアンダースコアで始まる必要があります。 C++ では大文字と小文字が区別されるため、大文字と小文字は区別されます −
前の章で説明したように、C++には次の基本的な変数タイプがあります-
Sr.No | タイプと説明 |
---|---|
1 | ブール true または false のいずれかの値を格納します。 |
2 | 文字 通常は 1 オクテット (1 バイト) です。これは整数型です。 |
3 | 整数 マシンにとって最も自然な整数のサイズ。 |
4 | 浮く 単精度浮動小数点値。 |
5 | ダブル 倍精度浮動小数点値。 |
6 | 無効 型がないことを表します。 |
7 | wchar_t ワイド文字タイプ。 |
C++ では、他のさまざまなタイプの変数を定義することもできます。これについては、列挙、ポインタ、配列、参照、データ構造など、後続の章で説明します。 とクラス .
次のセクションでは、さまざまなタイプの変数を定義、宣言、および使用する方法について説明します。
C++ での変数定義
変数定義は、変数用に作成するストレージの場所と量をコンパイラーに伝えます。変数定義はデータ型を指定し、次のようにその型の 1 つ以上の変数のリストを含みます −
type variable_list;
ここに入力してください char、w_char、int、float、double、bool、または任意のユーザー定義オブジェクトなどを含む有効な C++ データ型、および variable_list でなければなりません コンマで区切られた 1 つ以上の識別子名で構成されます。いくつかの有効な宣言をここに示します −
int i, j, k; char c, ch; float f, salary; double d;
行 int i, j, k; 両方とも、変数 i、j、および k を宣言および定義します。これは、int 型の i、j、k という名前の変数を作成するようコンパイラに指示します。
変数は、その宣言で初期化 (初期値の割り当て) できます。初期化子は、次のように定数式が続く等号で構成されます-
type variable_name = value;
いくつかの例は-
extern int d = 3, f = 5; // declaration of d and f. int d = 3, f = 5; // definition and initializing d and f. byte z = 22; // definition and initializes z. char x = 'x'; // the variable x has the value 'x'.
初期化子を使用しない定義の場合:静的記憶域期間を持つ変数は暗黙的に NULL で初期化されます (すべてのバイトの値は 0 です)。他のすべての変数の初期値は未定義です。
C++ での変数宣言
変数宣言は、指定された型と名前を持つ 1 つの変数が存在することをコンパイラーに保証します。これにより、コンパイラーは、変数に関する完全な詳細を必要とせずに、さらにコンパイルを進めることができます。変数宣言はコンパイル時にのみ意味を持ち、コンパイラはプログラムのリンク時に実際の変数定義を必要とします。
変数宣言は、複数のファイルを使用していて、プログラムのリンク時に使用できるファイルの 1 つに変数を定義する場合に便利です。 extern を使用します キーワードを使用して、任意の場所で変数を宣言します。 C++ プログラムでは変数を複数回宣言できますが、ファイル、関数、またはコード ブロックでは 1 回しか定義できません。
例
変数が先頭で宣言されているが、メイン関数内で定義されている次の例を試してください-
ライブデモ#include <iostream> using namespace std; // Variable declaration: extern int a, b; extern int c; extern float f; int main () { // Variable definition: int a, b; int c; float f; // actual initialization a = 10; b = 20; c = a + b; cout << c << endl ; f = 70.0/3.0; cout << f << endl ; return 0; }
上記のコードをコンパイルして実行すると、次の結果が生成されます −
30 23.3333
同じ概念が関数宣言にも適用されます。宣言時に関数名を指定し、実際の定義を他の場所で指定できます。たとえば-
// function declaration int func(); int main() { // function call int i = func(); } // function definition int func() { return 0; }
左辺値と右辺値
C++ には 2 種類の式があります −
- <リ>
左辺値 − メモリ位置を参照する式は「左辺値」式と呼ばれます。左辺値は、割り当ての左側または右側のいずれかとして表示されます。
<リ>右辺値 - 右辺値という用語は、メモリ内のあるアドレスに格納されているデータ値を指します。右辺値は、値を割り当てることができない式です。つまり、右辺値は代入の右側に表示されますが、左側には表示されません。
変数は左辺値であるため、割り当ての左側に表示される場合があります。数値リテラルは右辺値であるため、割り当てられず、左側に表示されない場合があります。以下は有効なステートメントです −
int g = 20;
しかし、以下は有効なステートメントではなく、コンパイル時エラーを生成します −
10 = 20;
C言語