Dプログラミング-変数
変数は、プログラムが操作できるストレージ領域に付けられた名前に他なりません。Dの各変数には特定のタイプがあり、変数のメモリのサイズとレイアウトを決定します。そのメモリ内に保存できる値の範囲。変数に適用できる一連の操作。
変数の名前は、文字、数字、および下線文字で構成できます。文字またはアンダースコアで始まる必要があります。Dでは大文字と小文字が区別されるため、大文字と小文字は区別されます。前の章で説明した基本的なタイプに基づいて、次の基本的な変数タイプがあります-
シニア番号 | タイプと説明 |
---|---|
1 | char 通常、1オクテット(1バイト)。これは整数型です。 |
2 | int マシンの整数の最も自然なサイズ。 |
3 | float 単精度浮動小数点値。 |
4 | double 倍精度浮動小数点値。 |
5 | void タイプがないことを表します。 |
Dプログラミング言語では、列挙、ポインター、配列、構造体、共用体など、他のさまざまなタイプの変数を定義することもできます。これについては、以降の章で説明します。この章では、基本的な変数タイプのみを調べてみましょう。
Dでの変数定義
変数定義は、変数用に作成するスペースの場所と量をコンパイラーに指示します。変数定義はデータ型を指定し、次のようにその型の1つ以上の変数のリストを含みます-
type variable_list;
ここに、 type char、wchar、int、float、double、bool、または任意のユーザー定義オブジェクトなどを含む有効なDデータ型である必要があります。 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'.
変数がDで宣言されると、常に「デフォルトの初期化子」に設定されます。これは、次のように手動でアクセスできます。 T.init どこ T タイプです(例: int.init)。整数型のデフォルトの初期化子は0、ブール値はfalse、浮動小数点数はNaNです。
Dでの変数宣言
変数宣言は、指定されたタイプと名前の変数が1つ存在することをコンパイラーに保証するため、コンパイラーは変数に関する完全な詳細を必要とせずにさらにコンパイルを進めることができます。変数宣言はコンパイル時にのみ意味があり、コンパイラはプログラムのリンク時に実際の変数宣言を必要とします。
例
次の例を試してください。変数はプログラムの開始時に宣言されていますが、main関数内で定義および初期化されています-
import std.stdio;
int a = 10, b = 10;
int c;
float f;
int main () {
writeln("Value of a is : ", a);
/* variable re definition: */
int a, b;
int c;
float f;
/* Initialization */
a = 30;
b = 40;
writeln("Value of a is : ", a);
c = a + b;
writeln("Value of c is : ", c);
f = 70.0/3.0;
writeln("Value of f is : ", f);
return 0;
}
上記のコードをコンパイルして実行すると、次の結果が得られます。
Value of a is : 10
Value of a is : 30
Value of c is : 70
Value of f is : 23.3333
Dの左辺値と右辺値
D −には2種類の式があります。
lvalue −左辺値である式は、代入の左側または右側のいずれかとして表示される場合があります。
rvalue −右辺値である式は、代入の右側に表示される場合がありますが、左側には表示されない場合があります。
変数は左辺値であるため、割り当ての左側に表示される場合があります。数値リテラルは右辺値であるため、割り当てられない場合があり、左側に表示することはできません。次のステートメントは有効です-
int g = 20;
しかし、以下は有効なステートメントではなく、コンパイル時エラーを生成します-
10 = 20;