在D編程語言中,數(shù)據(jù)類型是指用于聲明不同類型的變量或函數(shù)的擴展系統(tǒng)。
D中的類型可以分類如下-
Sr.No. | Types & 描述 |
---|---|
1 | Basic Types 它們是算術(shù)類型,由三種類型組成:(a)整數(shù),(b)浮點數(shù)和(c)字符。 |
2 | Enumerated types 它們還是算術(shù)類型。它們用于定義在整個程序中只能分配某些離散整數(shù)值的變量。 |
3 | The type void 類型說明符 void 表示沒有可用值。 |
4 | Derived types 它們包括(a)指針類型,(b)數(shù)組類型,(c)結(jié)構(gòu)類型,(d)聯(lián)合類型和(e)函數(shù)類型。 |
數(shù)組類型和結(jié)構(gòu)類型統(tǒng)稱為集合類型,函數(shù)的類型指定函數(shù)的返回值的類型。
下表列出了標準整數(shù)類型及其存儲大小和值范圍-
類型 | 存儲空間 | 值范圍 |
---|---|---|
bool | 1個字節(jié) | false或true |
byte | 1個字節(jié) | -128至127 |
ubyte | 1個字節(jié) | 0到255 |
int | 4個字節(jié) | -2,147,483,648至2,147,483,647 |
uint | 4個字節(jié) | 0至4,294,967,295 |
short | 2個字節(jié) | -32,768至32,767 |
ushort | 2個字節(jié) | 0至65,535 |
long | 8個字節(jié) | -9223372036854775808至9223372036854775807 |
ulong | 8個字節(jié) | 0到18446744073709551615 |
要獲取類型或變量的確切大小,可以使用 sizeof 運算符,以下示例獲取任何機器上的int類型的大小-
import std.stdio;
int main() {
writeln("Length in bytes: ", ulong.sizeof);
return 0;
}
當您編譯并執(zhí)行上述程序時,它將產(chǎn)生以下輸出-
Length in bytes: 8
下表提到了標準浮點類型以及存儲大小,值范圍及其用途-
類型 | 空間 | 值范圍 | 用途 |
---|---|---|---|
float | 4字節(jié) | 1.17549e-38至3.40282e + 38 | 6位小數(shù)位 |
double | 8字節(jié) | 2.22507e-308至1.79769e + 308 | 小數(shù)點后15位 |
real | 10字節(jié) | 3.3621e-4932至1.18973e + 4932 | 硬件支持的最大浮點類型,或者為兩倍;較大者 |
ifloat | 4字節(jié) | 1.17549e-38i至3.40282e + 38i | float的虛值類型 |
idouble | 8字節(jié) | 2.22507e-308i至1.79769e + 308i | 虛數(shù)類型為double |
ireal | 10字節(jié) | 3.3621e-4932至1.18973e + 4932 | 虛數(shù)值類型 |
cfloat | 8字節(jié) | 1.17549e-38 + 1.17549e-38i至3.40282e + 38 + 3.40282e + 38i | 由兩個浮點數(shù)組成的復數(shù)類型 |
cdouble | 16字節(jié) | 2.22507e-308 + 2.22507e-308i至1.79769e + 308 + 1.79769e + 308i | 由兩個雙精度數(shù)組成的復數(shù)類型 |
creal | 20字節(jié) | 3.3621e-4932 + 3.3621e-4932i至1.18973e + 4932 + 1.18973e + 4932i | 由兩個實數(shù)組成的復數(shù)類型 |
以下示例顯示浮點類型及其范圍值占用的存儲空間-
import std.stdio;
int main() {
writeln("Length in bytes: ", float.sizeof);
return 0;
}
當您編譯并執(zhí)行上述程序時,它在Linux上產(chǎn)生以下輸出-
Length in bytes: 4
下表列出了標準字符類型及其存儲大小及其用途。
類型 | 存儲空間 | 用途 |
---|---|---|
char | 1個字節(jié) | UTF-8代碼單元 |
wchar | 2個字節(jié) | UTF-16代碼單元 |
dchar | 4個字節(jié) | UTF-32代碼單元和Unicode代碼點 |
下面的示例顯示char類型占用的存儲空間。
import std.stdio;
int main() {
writeln("Length in bytes: ", char.sizeof);
return 0;
}
當您編譯并執(zhí)行上述程序時,它將產(chǎn)生以下輸出-
Length in bytes: 1
void類型指定沒有可用值。它在兩種情況下使用-
Sr.No. | Types & 描述 |
---|---|
1 | Function returns as void D中有各種函數(shù)不返回值,或者可以說它們返回void,沒有返回值的函數(shù)的返回類型為void。eg: void exit(int status) |
2 | Function arguments as void D中有許多不接受任何參數(shù)的函數(shù),沒有參數(shù)的函數(shù)可以接受為空。如, int rand(void); |
更多建議: