這學期學c++ ,晚上有道程式設計題, 比較坑, 感覺要用動態陣列做, 但實際就是要用靜態陣列, 因為動態的反而更難了。
用動態陣列的時候,發現自己只會建立一維的 int *a = new int[5] ; 然後二維陣列怎麼創都忘記了, 還是那句話 ,不寫**很容易
忘記。 然後下面就給出幾個例子吧
[cpp]view plain
copy
"white-space:pre"
>
int**p =
newint
*[i];
[cpp]view plain
copy
"white-space:pre"
>
for(
intk = 0; k < i ; k++)
[cpp]view plain
copy
當然建立方式不止是這麼一種 。 另外有一點要強調, 有幾個new 就要呼叫幾個delete , 不然會造成記憶體洩露, 然後多為陣列還要delete.............
還有一點想說的是程式設計過程的一些問題吧
首先是陣列的指標表示式 *(*(p+i)+j) 今天居然有同學問我這個怎麼寫,我也是無語了,感覺這個事必須掌握的啊
int **qw = new int[12][23]; 這個提示錯誤
3 還有一點是在傳引數的時候, 二維陣列可以**p 做形參, 也可是(*p)[23] 這種格式
c++ 中動態陣列還是很有用的, 特別是在類當中, 深拷貝這類的 ,還是很值得學習的。
C 動態陣列
原 1.變長一維陣列 這裡說的變長陣列是指在編譯時不能確定陣列長度,程式在執行時需要動態分配記憶體空間的陣列。實現變長陣列最簡單的是變長一維陣列,你可以這樣做 1 檔名 array01.cpp 2 include 3 using namespace std 4 int main 5 注意int p ...
c 動態陣列
在建立動態陣列的過程中我們要遵循乙個原則,那就是在建立的時候從外層往裡層,逐層建立 而釋放的時候從裡層往外層,逐層釋放。這個話你讀了可能理解並不深刻,不過不要急,接下來我們看看兩段 一維動態陣列的建立 include include int main int n1,i int array print...
c 動態陣列
首先 為什麼需要動態定義陣列呢?這是因為,很多情況下,在預編譯過程階段,陣列的長度是不能預先知道的,必須在程式執行時動態的給出 但是問題是,c 要求定義陣列時,必須明確給定陣列的大小,要不然編譯通不過 如 int array 5 正確 int i 5 int array i 錯誤 因為在編譯階段,編...