codecamp

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

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

整数类型

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

类型存储空间值范围
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);


D编程 变量
D编程 枚举
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }