D编程 数据类型

2021-09-01 10:08 更新

在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)函数类型。

数组类型和结构类型统称为集合类型,函数的类型指定函数的返回值的类型。

整数类型

下表列出了标准整数类型及其存储大小和值范围-

类型存储空间值范围
bool1个字节false或true
byte1个字节-128至127
ubyte1个字节0到255
int4个字节-2,147,483,648至2,147,483,647
uint4个字节0至4,294,967,295
short2个字节-32,768至32,767
ushort2个字节0至65,535
long8个字节-9223372036854775808至9223372036854775807
ulong8个字节0到18446744073709551615

要获取类型或变量的确切大小,可以使用 sizeof 运算符,以下示例获取任何机器上的int类型的大小-

import std.stdio; 
 
int main() { 
   writeln("Length in bytes: ", ulong.sizeof); 

   return 0; 
}

当您编译并执行上述程序时,它将产生以下输出-

Length in bytes: 8 

浮点类型

下表提到了标准浮点类型以及存储大小,值范围及其用途-

类型空间值范围用途
float4字节1.17549e-38至3.40282e + 386位小数位
double8字节2.22507e-308至1.79769e + 308小数点后15位
real10字节3.3621e-4932至1.18973e + 4932硬件支持的最大浮点类型,或者为两倍;较大者
ifloat4字节1.17549e-38i至3.40282e + 38ifloat的虚值类型
idouble8字节2.22507e-308i至1.79769e + 308i虚数类型为double
ireal10字节3.3621e-4932至1.18973e + 4932虚数值类型
cfloat8字节1.17549e-38 + 1.17549e-38i至3.40282e + 38 + 3.40282e + 38i由两个浮点数组成的复数类型
cdouble16字节2.22507e-308 + 2.22507e-308i至1.79769e + 308 + 1.79769e + 308i由两个双精度数组成的复数类型
creal20字节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

字符类型

下表列出了标准字符类型及其存储大小及其用途。

类型存储空间用途
char1个字节UTF-8代码单元
wchar2个字节UTF-16代码单元
dchar4个字节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);


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号