D語言數據類型

在D編程語言,數據類型是指用於不同類型的聲明變量或函數的全面系統。一個變量的類型決定了空間佔用的存儲,以及如何存儲的比特模式的解釋。

D中的類型可分類如下:

S.N.

類型和說明

1

基本類型:
此算術類型幷包含三種類型:(一)整數類型,(B)浮點類型(三)字符類型

2

枚舉類型:
此算術類型和它們用於定義可以只在整個節目被分配若干離散的整數值的變量。

3

void類型:
此類型說明符無效表示沒有值可用。

4

派生類型:
它們包括(一)指針類型,(B)數組類型,(三)結構類型,(四)聯合的類型及(e)函數類型。

數組類型和結構類型統稱爲聚合類型。一個函數的類型指定函數的返回值的類型。我們會看到基本類型在下面的部分,而其他類型將包括在下一章節。

整數類型

下表提供了有關其存儲大小和值範圍標準的整數類型的詳細信息:

類型

存儲大小

值範圍

bool

1 byte

false or true

byte

1 byte

-128 to 127

ubyte

1 byte

0 to 255

int

4 bytes

-2,147,483,648 to 2,147,483,647

uint

4 bytes

0 to 4,294,967,295

short

2 bytes

-32,768 to 32,767

ushort

2 bytes

0 to 65,535

long

8 bytes

-9223372036854775808 to 9223372036854775807

ulong

8 bytes

0 to 18446744073709551615

爲了得到一個類型或一個變量的確切大小,可以使用 sizeof 運算符。表達式類型(的sizeof),得到以字節爲單位的對象或類型的存儲大小。下面是一個示例得到任何機器上int型的大小:

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

當編譯並執行上面的程序,它會產生以下結果:

Length in bytes: 8

浮點類型

下表提供了有關使用存儲大小和值範圍標準浮點數類型及其用途的詳細信息

類型

存儲大小

值範圍

目的

float

4 bytes

1.17549e-38 to 3.40282e+38

6 位小數

double

8 bytes

2.22507e-308 to 1.79769e+308

15 位小數

real

10 bytes

3.3621e-4932 to 1.18973e+4932

硬件支持無論是最大浮點型或雙;較大者爲準

ifloat

4 bytes

1.17549e-38i to 3.40282e+38i

浮虛值類型

idouble

8 bytes

2.22507e-308i to 1.79769e+308i

double虛值類型

ireal

10 bytes

3.3621e-4932 to 1.18973e+4932

實虛值類型

cfloat

8 bytes

1.17549e-38+1.17549e-38i to 3.40282e+38+3.40282e+38i

由兩個浮點數複數類型

cdouble

16 bytes

2.22507e-308+2.22507e-308i to 1.79769e+308+1.79769e+308i

由兩個雙複數類型

creal

20 bytes

3.3621e-4932+3.3621e-4932i to 1.18973e+4932+1.18973e+4932i

由兩個實數,複數類型

下面的例子將打印所採用的是一個float類型及其範圍值的存儲空間:

import std.stdio; int main() { writeln("Length in bytes: ", float.sizeof); return 0; }

當編譯並執行上述程序,它產生在Linux下面的結果:

Storage size for float : 4

字符類型

下表提供了有關與存儲大小,其目的標準字符類型的詳細信息。

類型

存儲大小

目的

char

1 byte

UTF-8 code unit

wchar

2 bytes

UTF-16 code unit

dchar

4 bytes

UTF-32 code unit and Unicode code yiibai

下面的例子將打印用一個char類型的存儲空間。

import std.stdio; int main() { writeln("Length in bytes: ", char.sizeof); return 0; }

當編譯並執行上面的程序,它會產生以下結果:

Storage size for float : 1

void類型

void類型指定任何值可用。這是用在兩種情況:

S.N.

類型及描述

1

函數返回 void
在D語言中的各種函數沒有返回值,也可以說他們返回void。沒有返回值的函數的返回類型爲void。例如, void exit (int status);

2

函數參數爲 void
有D中的各種功能不接受任何參數。不帶參數的函數可以接受一個空白。例如, int rand(void);

void類型在這一點上可能不被理解,所以讓我們繼續,我們將在後面的章節這些概念。