在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ C++/ D語(yǔ)言數(shù)組
類(lèi)的訪問(wèn)修飾符
D語(yǔ)言運(yùn)算符
D語(yǔ)言邏輯運(yùn)算符
類(lèi)指針
D語(yǔ)言元組
D語(yǔ)言指針
D語(yǔ)言模塊
D語(yǔ)言sizeof運(yùn)算符
D語(yǔ)言混合類(lèi)型
D語(yǔ)言封裝
D語(yǔ)言條件編譯
類(lèi)的靜態(tài)成員
D語(yǔ)言do...while循環(huán)
D語(yǔ)言結(jié)構(gòu)體
重載
D語(yǔ)言字符串-String
D語(yǔ)言決策語(yǔ)句
D語(yǔ)言接口
D語(yǔ)言for循環(huán)
D語(yǔ)言switch語(yǔ)句
D語(yǔ)言關(guān)聯(lián)數(shù)組
D語(yǔ)言范圍
D語(yǔ)言枚舉Enums
契約式編程
D語(yǔ)言并發(fā)
D語(yǔ)言開(kāi)發(fā)環(huán)境設(shè)置
D語(yǔ)言別名
D語(yǔ)言常值
D語(yǔ)言常量
D語(yǔ)言函數(shù)
D語(yǔ)言if嵌套語(yǔ)句
D語(yǔ)言循環(huán)
D語(yǔ)言概述,D語(yǔ)言是什么?
D語(yǔ)言運(yùn)算符優(yōu)先級(jí)
D語(yǔ)言continue語(yǔ)句
D語(yǔ)言異常處理
D語(yǔ)言break語(yǔ)句
D語(yǔ)言if...else語(yǔ)句
D語(yǔ)言類(lèi)和對(duì)象
類(lèi)繼承
D語(yǔ)言字符
D語(yǔ)言教程
D語(yǔ)言關(guān)系運(yùn)算符
比較操作符重載
構(gòu)造函數(shù)和析構(gòu)函數(shù)
D語(yǔ)言抽象類(lèi)
D語(yǔ)言if語(yǔ)句
D語(yǔ)言賦值運(yùn)算符
D中算術(shù)運(yùn)算符
D語(yǔ)言類(lèi)成員函數(shù)
D語(yǔ)言位運(yùn)算符
D語(yǔ)言變量
D語(yǔ)言數(shù)據(jù)類(lèi)型
D語(yǔ)言文件I/O
D語(yǔ)言數(shù)組
一元運(yùn)算符重載
D語(yǔ)言嵌套switch語(yǔ)句
D語(yǔ)言基本語(yǔ)法
二元運(yùn)算符重載
this指針
D語(yǔ)言聯(lián)合體
D語(yǔ)言模板
D語(yǔ)言嵌套循環(huán)
D語(yǔ)言while循環(huán)

D語(yǔ)言數(shù)組

D編程語(yǔ)言提供了一種數(shù)據(jù)結(jié)構(gòu),數(shù)組用于存儲(chǔ)相同類(lèi)型的元素的一個(gè)固定大小的連續(xù)集合。數(shù)組是用于存儲(chǔ)數(shù)據(jù)的集合,但它往往認(rèn)為陣列為相同類(lèi)型的變量的集合。

相反聲明個(gè)別變數(shù),如number0, number1, ..., 和number99,聲明一個(gè)數(shù)組變量,如使用數(shù)字numbers[0], numbers[1], 和..., numbers[99]來(lái)表示各個(gè)變量。在數(shù)組中的特定元素是通過(guò)索引來(lái)訪問(wèn)。

所有陣列組成的連續(xù)的存儲(chǔ)單元。最低的地址對(duì)應(yīng)于所述第一元素,而最高地址的最后一個(gè)元素。

聲明數(shù)組:

在D編程語(yǔ)言聲明數(shù)組,程序員指定的元素和如下由陣列所需元素的數(shù)量的類(lèi)型:

type arrayName [ arraySize ];

這就是所謂的單維數(shù)組。arraySize必須是整數(shù)常量大于零且類(lèi)型可以是任何有效的D編程語(yǔ)言數(shù)據(jù)類(lèi)型。例如,要聲明一個(gè)10個(gè)元素的數(shù)組為double類(lèi)型,使用此語(yǔ)句:

double balance[10];

初始化數(shù)組:

可以初始化D編程語(yǔ)言的數(shù)組元素或者一個(gè)接一個(gè),或使用一個(gè)單獨(dú)的語(yǔ)句如下:

double balance[5] = [1000.0, 2.0, 3.4, 17.0, 50.0];

方括號(hào)內(nèi)[]的值的個(gè)數(shù)在右邊不能比,我們的聲明方括號(hào)[]之間的數(shù)組元素的個(gè)數(shù)較大。下面是一個(gè)示例來(lái)指定數(shù)組的單個(gè)元素:

如果省略數(shù)組的大小,創(chuàng)建數(shù)組的大小剛好能容納初始化。因此,如果編寫(xiě):

double balance[] = [1000.0, 2.0, 3.4, 17.0, 50.0];

將創(chuàng)建完全相同的數(shù)組,和在前面的例子中那樣。

balance[4] = 50.0;

上述聲明數(shù)組的值50.0在指定元素?cái)?shù)第5位。與第四索引數(shù)組將是第五次,即最后一個(gè)元素,因?yàn)樗械臄?shù)組都是讓 0作為他們的第一個(gè)元素,也被稱(chēng)為基本索引的索引。以下是我們上面討論的相同陣列的圖案表現(xiàn)出來(lái):

Array Presentation

訪問(wèn)數(shù)組元素:

元素是由索引數(shù)組名訪問(wèn)。這是通過(guò)將一個(gè)元素的索引數(shù)組的名稱(chēng)之后方括號(hào)內(nèi)進(jìn)行。例如:

double salary = balance[9];

上面的語(yǔ)句將第10元素從數(shù)組并賦值給變量salary。下面是一個(gè)例子,這將使用所有上述三個(gè)概念即:聲明,賦值和訪問(wèn)數(shù)組:

import std.stdio;

void main()
{
   int n[ 10 ]; // n is an array of 10 integers

   // initialize elements of array n to 0
   for ( int i = 0; i < 10; i++ )
   {
      n[ i ] = i + 100; // set element at location i to i + 100
   }

   writeln("Element 	 Value");

   // output each array element's value
   for ( int j = 0; j < 10; j++ )
   {
      writeln(j," 	 ",n[j]);
   }
}

讓我們編譯和運(yùn)行上面的程序,這將產(chǎn)生以下結(jié)果:

Element 	 Value
0 		  100
1 		  101
2 		  102
3 		  103
4 		  104
5 		  105
6 		  106
7 		  107
8 		  108
9 		  109

靜態(tài)數(shù)組與動(dòng)態(tài)數(shù)組

當(dāng)在程序被寫(xiě)入所指定的數(shù)組的長(zhǎng)度,該陣列是一個(gè)靜態(tài)數(shù)組。當(dāng)長(zhǎng)度可以在程序的執(zhí)行過(guò)程中發(fā)生變化,該陣列是一個(gè)動(dòng)態(tài)數(shù)組。

定義動(dòng)態(tài)數(shù)組不是定義固定長(zhǎng)度的陣列,因?yàn)槭÷蚤L(zhǎng)度使得一個(gè)動(dòng)態(tài)數(shù)組簡(jiǎn)單:

int[] dynamicArray;

數(shù)組屬性

屬性 描述
.init 靜態(tài)數(shù)組返回一個(gè)數(shù)組字面量的字面即數(shù)組元素類(lèi)型。初始化屬性中的每個(gè)元素。
.sizeof 靜態(tài)數(shù)組返回?cái)?shù)組的長(zhǎng)度乘以每個(gè)數(shù)組元素的字節(jié)數(shù),而動(dòng)態(tài)數(shù)組返回動(dòng)態(tài)數(shù)組的引用,在32位版本大小為8,在64位版本的大小為16。
.length 靜態(tài)數(shù)組返回,而動(dòng)態(tài)數(shù)組是用來(lái)獲取/設(shè)置數(shù)組中的元素個(gè)數(shù)數(shù)組中元素的個(gè)數(shù)。長(zhǎng)度的類(lèi)型為size_t。
.ptr 返回一個(gè)指向數(shù)組的第一個(gè)元素。
.dup 創(chuàng)建同樣大小的動(dòng)態(tài)數(shù)組及數(shù)組中的內(nèi)容復(fù)制到其中。
.idup 創(chuàng)建同樣大小的動(dòng)態(tài)數(shù)組及數(shù)組中的內(nèi)容復(fù)制到其中。該副本的類(lèi)型為是不可變的。
.reverse 在當(dāng)前位置倒轉(zhuǎn)數(shù)組中的元素的順序。返回?cái)?shù)組。
.sort 在這里各種陣列中的元素的順序。返回?cái)?shù)組。

下面的例子說(shuō)明可用于數(shù)組的各種屬性。

import std.stdio;

void main()
{
   int n[ 5 ]; // n is an array of 5 integers

   // initialize elements of array n to 0
   for ( int i = 0; i < 5; i++ )
   {
      n[ i ] = i + 100; // set element at location i to i + 100
   }
   writeln("Initialized value:",n.init);

   writeln("Length: ",n.length);
   writeln("Size of: ",n.sizeof);
   writeln("Yiibaier:",n.ptr);

   writeln("Duplicate Array: ",n.dup);
   writeln("iDuplicate Array: ",n.idup);

   n = n.reverse.dup;
   writeln("Reversed Array: ",n);

   writeln("Sorted Array: ",n.sort);
}

讓我們編譯和運(yùn)行上面的程序,這將產(chǎn)生以下結(jié)果:

Initialized value:[0, 0, 0, 0, 0]
Length: 5
Size of: 20
Yiibaier:7FFF5A373920
Duplicate Array: [100, 101, 102, 103, 104]
iDuplicate Array: [100, 101, 102, 103, 104]
Reversed Array: [104, 103, 102, 101, 100]
Sorted Array: [100, 101, 102, 103, 104]

多維數(shù)組

D編程允許多維數(shù)組。這里是一個(gè)多維數(shù)組聲明的一般形式為:

type name[size1][size2]...[sizeN];

例如,下面的聲明創(chuàng)建一個(gè)三維: 5 . 10 . 4整數(shù)數(shù)組:

int threedim[5][10][4];

二維數(shù)組:

多維數(shù)組的最簡(jiǎn)單的形式是二維陣列。二維陣列在本質(zhì)上是一維陣列的列表。聲明大小為x,y的二維整型數(shù)組,編寫(xiě)如下:

type arrayName 上一篇:D語(yǔ)言決策語(yǔ)句下一篇:D語(yǔ)言sizeof運(yùn)算符