原則:
1、鋸齒陣列首先是二維陣列,第一維的維數是確定的
2、之所以在c#中能夠出現靈活的鋸齒陣列,是因為,c#的陣列是引用型別(本質上存放的是指標)
根據這個引用型別(指標)的概念,c++中用指標陣列同樣可以實現
c#中:
class a{}
int sza = new int[3];
sza[0] = new int[2];
sza[1] = new int[6];
sza[2] = new int[3];
當然此時實際的各個陣列元素(整形變數)尚未初始化值,c#不允許使用未經初始化的變數
c++中,可以定義int *指標變數的陣列,成員是三個int *指標變數,然後每個指標變數在堆記憶體上分配2,6,3個int變數的記憶體,
這樣就ok了
實際上,就是利用了指標的概念,只是c#的語法形式上看起來簡單些,但是也失去了直接操作記憶體底層值的靈活性,託管,非託管,.net平台有利有弊的。
c 中的二維陣列與鋸齒陣列
c 中的二維陣列與鋸齒陣列 鋸齒陣列 二維陣列的大小是矩形的,例如3 3個元素。而鋸齒陣列的大小設定是比較靈活的,在鋸齒陣列中,每一行都可以有不同的大小。圖5 4比較了有3 3個元素的二維陣列和鋸齒陣列。圖中的鋸齒陣列有3行,第一行有2個元素,第二行有6個元素,第三行有3個元素。圖 5 4 在宣告鋸...
了解 C 三維陣列和鋸齒數值
此文章,只需了解,用到的不多。string three new string 2,3,5 定義乙個三維陣列,給陣列分別輔助2,3,5 對此陣列的解釋 有2個二維陣列,每乙個二維陣列中有3個一維陣列,每乙個一維陣列中有4個變數 鋸齒陣列 int myarray myarray new int 3 宣告...
C 動態陣列的C 簡易實現
定義一元素為整數的動態陣列類,並在主函式中呼叫各個功能 資料成員 指向元素首位址的指標 用於儲存動態申請的陣列空間 當前陣列的容量 當前元素的個數 成員函式 帶參 無參建構函式 無參的動態申請10個元素空間並改變當前陣列的容量 當前元素的個數值 帶參的按引數處理 在尾部增加一元素 修改指定位置上的元...