1樓:
沒分也幫你,哥是好人,呵呵
在c++中實現變長陣列
1.變長一維陣列
這裡說的變長陣列是指在編譯時不能確定陣列長度,程式在執行時需要動態分配記憶體空間的陣列。實現變長陣列最簡單的是變長一維陣列,你可以這樣做:
//檔名: array01.cpp
#include
using namespace std;
int main()
注意int *p=new int[len];這一句,你不能這樣做:
int p[len];
c++編譯器會報錯說len的大小不能確定,因為用這種形式宣告陣列,陣列的大小需要在編譯時確定。而且這樣也不行:
int p=new int[len];
編譯器會說不能把int*型轉化為int型,因為用new開闢了一段記憶體空間後會返回這段記憶體的首地址,所以要把這個地址賦給一個指標,所以要用int *p=new int[len];
array01.cpp實現了一個變長的一維陣列,但是要養成一個好習慣,就是注意要登出指標p,使程式釋放用new開闢的記憶體空間。
當然使用c++標準模版庫(stl)中的vector(向量)也可以實現變長陣列:
//檔名: array02.cpp
#include
#include
using namespace std;
int main()
cout<
}return 0;
}執行結果:
input value for m,n,l:2 3 4
0: 00492fe0 1: 00492fe4 2: 00492fe8 3: 00492fec
1: 00492fa0 2: 00492fa4 3: 00492fa8 4: 00492fac
2: 00492f60 3: 00492f64 4: 00492f68 5: 00492f6c
1: 00492ec0 2: 00492ec4 3: 00492ec8 4: 00492ecc
2: 00492e80 3: 00492e84 4: 00492e88 5: 00492e8c
3: 00492e40 4: 00492e44 5: 00492e48 6: 00492e4c
2樓:匿名使用者
使用 new 動態建立陣列
在c++中的主函式中,如何定義一個陣列,而這個陣列的大小不確定,大小和數值由使用者從鍵盤輸入?
3樓:阿加莎的三色貓
準確的說,是先使用者輸入 任意的數 temp然後編譯器以temp為陣列大小定義陣列
然後再通過迴圈對陣列的每個成員賦值
順序一定要搞對,陣列大小理論上是不允許動態的,如果動態了,都是錯覺
4樓:匿名使用者
先宣告一個陣列指標 然後根據需要動態分配儲存空間比如int *a;
int n;
cin>>n; //輸入陣列長度
a=new int(n); //動態分配儲存空間//下面就可以對陣列a 進行賦值等操作了
...//最後別忘了用delete釋放儲存空間
5樓:匿名使用者
呵呵int r; //行數
int c; //列數
cout<<"please input the number of rows of the dynamic array: ";
cin>>r; //輸入行數
cout<<"please input the number of columns of the dynamic array: ";
cin>>c; //輸入列數
//建立二維動態陣列
int **p=new int*[r];
for(int i=0;i
cout<<"the array named p["<
6樓:匿名使用者
只能動態分配了啊,別給我說你沒學過。
dobule arr;
int length;
cin>>length;
arr = new double[length];
for(int i = 0; i < length; ++i)cin>>arr[i];
for(int i = 0; i < length; ++i)cout<
delete arr;
c怎樣 定義 陣列,C 裡怎樣定義一個常量陣列?
c 中定義陣列。一 一維 int numbers new int 不定長int numbers new int 3 定長二 多維 int numbers new int 不定長 int numbers new int 2,2 定長 c 中陣列有五種宣告方式 一,宣告一個未初始化的始祖,將其轉換為一個...
用c如何定義物件,c 怎麼定義物件陣列
類和物件是密不可分,有類就有物件。有物件就有類,世界萬物都可以看作物件。用物件導向的思想解決問題,就要把一切都看成物件。物件是不能脫離類存在的。類是物件共同擁有的屬性的描述,由物件歸納成類,物件是類的具體體現。如汽車是一個類,而具體到某個人的車就是物件。在c 中,所有的東西都可以看作物件。把一個東西...
c語言中如何給不確定大小的陣列定義並使用
c語言中沒有明確的 動態陣列 也就是不確定大小的陣列 這個概念,只能用動態記憶體分配來實現,我給你一個思路 建立陣列 用動態分配分配一個指定大小的記憶體 陣列 銷燬陣列 釋放動態分配記憶體 訪問元素 通過記憶體指標間接引用 增加元素 再分配一塊新記憶體區域 大小為增加後的大小 把久區域的元素資料複製...