Dプログラミング-データ型
Dプログラミング言語では、データ型は、さまざまな型の変数または関数を宣言するために使用される広範なシステムを指します。変数のタイプによって、ストレージ内で占めるスペースの量と、格納されているビットパターンの解釈方法が決まります。
Dのタイプは次のように分類できます-
シニア番号 | タイプと説明 |
---|---|
1 | Basic Types これらは算術型であり、(a)整数、(b)浮動小数点、および(c)文字の3つの型で構成されます。 |
2 | Enumerated types これらも算術型です。これらは、プログラム全体で特定の離散整数値のみを割り当てることができる変数を定義するために使用されます。 |
3 | The type void 型指定子voidは、使用可能な値がないことを示します。 |
4 | Derived types それらには、(a)ポインター型、(b)配列型、(c)構造体型、(d)共用体型、および(e)関数型が含まれます。 |
配列タイプと構造タイプは、まとめて集約タイプと呼ばれます。関数の型は、関数の戻り値の型を指定します。次のセクションで基本的なタイプを確認しますが、他のタイプについては次の章で説明します。
整数型
次の表に、標準の整数型とそのストレージサイズおよび値の範囲を示します。
タイプ | ストレージサイズ | 値の範囲 |
---|---|---|
ブール | 1バイト | falseまたはtrue |
バイト | 1バイト | -128〜127 |
ubyte | 1バイト | 0から255 |
int | 4バイト | -2,147,483,648から2,147,483,647 |
uint | 4バイト | 0から4,294,967,295 |
ショート | 2バイト | -32,768〜32,767 |
ushort | 2バイト | 0〜65,535 |
長いです | 8バイト | -9223372036854775808から9223372036854775807 |
ウロン | 8バイト | 0から18446744073709551615 |
型または変数の正確なサイズを取得するには、 sizeofオペレーター。式type。(sizeof)は、オブジェクトまたはタイプのストレージサイズをバイト単位で返します。次の例では、任意のマシンでint型のサイズを取得します-
import std.stdio;
int main() {
writeln("Length in bytes: ", ulong.sizeof);
return 0;
}
上記のプログラムをコンパイルして実行すると、次の結果が得られます-
Length in bytes: 8
浮動小数点型
次の表は、ストレージサイズ、値の範囲、およびそれらの目的を持つ標準の浮動小数点型について説明しています。
タイプ | ストレージサイズ | 値の範囲 | 目的 |
---|---|---|---|
浮く | 4バイト | 1.17549e-38から3.40282e + 38 | 小数点以下6桁 |
ダブル | 8バイト | 2.22507e-308から1.79769e + 308 | 小数点以下15桁 |
リアル | 10バイト | 3.3621e-4932から1.18973e + 4932 | ハードウェアがサポートする最大の浮動小数点型、または2倍。どちらか大きい方 |
ifloat | 4バイト | 1.17549e-38iから3.40282e + 38i | フロートの虚数型 |
idouble | 8バイト | 2.22507e-308iから1.79769e + 308i | ダブルの虚数型 |
私は本物です | 10バイト | 3.3621e-4932から1.18973e + 4932 | 実数の虚数型 |
cfloat | 8バイト | 1.17549e-38 + 1.17549e-38iから3.40282e + 38 + 3.40282e + 38i | 2つのフロートで構成される複素数タイプ |
cdouble | 16バイト | 2.22507e-308 + 2.22507e-308iから1.79769e + 308 + 1.79769e + 308i | 2つのdoubleで構成される複素数タイプ |
クリアル | 20バイト | 3.3621e-4932 + 3.3621e-4932iから1.18973e + 4932 + 1.18973e + 4932i | 2つの実数で構成される複素数型 |
次の例では、floatタイプが使用するストレージスペースとその範囲値を出力します-
import std.stdio;
int main() {
writeln("Length in bytes: ", float.sizeof);
return 0;
}
上記のプログラムをコンパイルして実行すると、Linuxで次の結果が生成されます-
Length in bytes: 4
文字の種類
次の表に、標準の文字タイプとストレージサイズおよびその目的を示します。
タイプ | ストレージサイズ | 目的 |
---|---|---|
char | 1バイト | UTF-8コードユニット |
wchar | 2バイト | UTF-16コードユニット |
dchar | 4バイト | UTF-32コードユニットとUnicodeコードポイント |
次の例では、char型が使用するストレージスペースを出力します。
import std.stdio;
int main() {
writeln("Length in bytes: ", char.sizeof);
return 0;
}
上記のプログラムをコンパイルして実行すると、次の結果が得られます-
Length in bytes: 1
ボイドタイプ
voidタイプは、使用可能な値がないことを指定します。2種類の状況で使用されます-
シニア番号 | タイプと説明 |
---|---|
1 | Function returns as void Dには、値を返さない、またはvoidを返すと言うことができるさまざまな関数があります。戻り値のない関数の戻り値の型はvoidです。例えば、void exit (int status); |
2 | Function arguments as void Dには、パラメータを受け入れないさまざまな関数があります。パラメータのない関数は、voidとして受け入れることができます。例えば、int rand(void); |
現時点ではvoid型が理解できない可能性があるため、先に進みましょう。これらの概念については、次の章で説明します。