D编程 数据类型
在D编程语言中,数据类型是指用于声明不同类型的变量或函数的扩展系统。
D中的类型可以分类如下-
Sr.No. | Types & 描述 |
---|---|
1 | Basic Types 它们是算术类型,由三种类型组成:(a)整数,(b)浮点数和(c)字符。 |
2 | Enumerated types 它们还是算术类型。它们用于定义在整个程序中只能分配某些离散整数值的变量。 |
3 | The type void 类型说明符 void 表示没有可用值。 |
4 | Derived types 它们包括(a)指针类型,(b)数组类型,(c)结构类型,(d)联合类型和(e)函数类型。 |
数组类型和结构类型统称为集合类型,函数的类型指定函数的返回值的类型。
整数类型
下表列出了标准整数类型及其存储大小和值范围-
类型 | 存储空间 | 值范围 |
---|---|---|
bool | 1个字节 | false或true |
byte | 1个字节 | -128至127 |
ubyte | 1个字节 | 0到255 |
int | 4个字节 | -2,147,483,648至2,147,483,647 |
uint | 4个字节 | 0至4,294,967,295 |
short | 2个字节 | -32,768至32,767 |
ushort | 2个字节 | 0至65,535 |
long | 8个字节 | -9223372036854775808至9223372036854775807 |
ulong | 8个字节 | 0到18446744073709551615 |
要获取类型或变量的确切大小,可以使用 sizeof 运算符,以下示例获取任何机器上的int类型的大小-
import std.stdio;
int main() {
writeln("Length in bytes: ", ulong.sizeof);
return 0;
}
当您编译并执行上述程序时,它将产生以下输出-
Length in bytes: 8
浮点类型
下表提到了标准浮点类型以及存储大小,值范围及其用途-
类型 | 空间 | 值范围 | 用途 |
---|---|---|---|
float | 4字节 | 1.17549e-38至3.40282e + 38 | 6位小数位 |
double | 8字节 | 2.22507e-308至1.79769e + 308 | 小数点后15位 |
real | 10字节 | 3.3621e-4932至1.18973e + 4932 | 硬件支持的最大浮点类型,或者为两倍;较大者 |
ifloat | 4字节 | 1.17549e-38i至3.40282e + 38i | float的虚值类型 |
idouble | 8字节 | 2.22507e-308i至1.79769e + 308i | 虚数类型为double |
ireal | 10字节 | 3.3621e-4932至1.18973e + 4932 | 虚数值类型 |
cfloat | 8字节 | 1.17549e-38 + 1.17549e-38i至3.40282e + 38 + 3.40282e + 38i | 由两个浮点数组成的复数类型 |
cdouble | 16字节 | 2.22507e-308 + 2.22507e-308i至1.79769e + 308 + 1.79769e + 308i | 由两个双精度数组成的复数类型 |
creal | 20字节 | 3.3621e-4932 + 3.3621e-4932i至1.18973e + 4932 + 1.18973e + 4932i | 由两个实数组成的复数类型 |
以下示例显示浮点类型及其范围值占用的存储空间-
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类型
void类型指定没有可用值。它在两种情况下使用-
Sr.No. | Types & 描述 |
---|---|
1 | Function returns as void D中有各种函数不返回值,或者可以说它们返回void,没有返回值的函数的返回类型为void。eg: void exit(int status) |
2 | Function arguments as void D中有许多不接受任何参数的函数,没有参数的函数可以接受为空。如, int rand(void); |