c#中的二維陣列與鋸齒陣列
鋸齒陣列
二維陣列的大小是矩形的,例如3×3個元素。而鋸齒陣列的大小設定是比較靈活的,在鋸齒陣列中,每一行都可以有不同的大小。
圖5-4比較了有3×3個元素的二維陣列和鋸齒陣列。圖中的鋸齒陣列有3行,第一行有2個元素,第二行有6個元素,第三行有3個元素。
圖 5-4
在宣告鋸齒陣列時,要依次放置開閉括號。在初始化鋸齒陣列時,先設定該陣列包含的行數。定義各行中元素個數的第二個括號設定為空,因為這類陣列的每一行包含不同的元素數。之後,為每一行指定行中的元素個數:
int jagged = new int[3];
jagged[0] = new int[2] ;
jagged[1] = new int[6] ;
jagged[2] = new int[3] ;
迭代鋸齒陣列中所有元素的**可以放在巢狀的for迴圈中。在外層的for迴圈中,迭代每一行,內層的for迴圈迭代一行中的每個元素:
for ( int row = 0; row < jagged.length; row++)
for ( int element = 0; element console.writeline("row: , element: [1], value: ",
row, element, 該迭代顯示了所有的行和每一行中的各個元素:
row: 0, element: 0, value: 1
row: 0, element: 1, value: 2
row: 1, element: 0, value: 3
row: 1, element: 1, value: 4
row: 1, element: 2, value: 5
row: 1, element: 3, value: 6
row: 1, element: 4, value: 7
row: 1, element: 5, value: 8
row: 2, element: 1, value: 9
row: 2, element: 2, value: 10
row: 2, element: 3, value: 11
C 中的二維陣列
二維陣列在計算機中儲存時,是按照行形式儲存的。即把每一行看做乙個整體,然後再把每一行的首位址進行索引,這樣就變成了乙個儲存著每行首位址的一維陣列。例如對於二維陣列num 2 2 可以理解為是乙個一維陣列p,這個一維陣列p有兩個元素,分別為num 0 與num 1 num 0 儲存著num陣列第一行的...
C 中的二維陣列
在記憶體中的資料只能是一維的,對於二維陣列在記憶體中是以開闢連續的記憶體空間,陣列名就是二維陣列陣列名就是記憶體空間的手位址,和函式 變數一樣其名就是記憶體中的首位址,下面是最近學的二維陣列的用法。1 和c語言一樣的方法 這種方法陣列大小不能太大,否則會出錯。int main for i 0 i2 ...
二維陣列與指向二維陣列的指標
指標陣列 是陣列元素為指標的陣列,本質為陣列。int p n 陣列指標 是指向陣列首元素的指標,其本質為指標。int p n 的優先順序高於指標運算子 操縱二維陣列 int a i j int pa j pa a a 代表該二維陣列的首位址 pa 代表該二維陣列的首位址 pa 也代表該二維陣列的首位...