|
本帖最後由 coopermaa 於 2012-12-8 09:19 編輯
1. 如果陣列元素並非單一性質,
例如 a[] = { "A1028235343", "apple" , "60-3-7", 165.3};
該如何宣告?
C/C++ 應該是不允許 array 裏存放不同種類的 data types
建議考慮改用 struct 或是 class
2. 該如何知道Array的元素數量?
sizeof (a) / sizeof (a[0])
3. 如果已先宣告並給值, 如下
int a[]={0,1,2};
該如何動態新增一個Array元素?
這是固定陣列,在宣告時就已決定陣列元素數量,應該不能再動態新增元素
改用指標的話應該辦得到,可以參考這篇的說明:
http://www.fredosaurus.com/notes-cpp/newdelete/50dynamalloc.html
int* a = NULL; // Pointer to int, initialize to nothing.
int n; // Size needed for array
cin >> n; // Read in the size
a = new int[n]; // Allocate n ints and save ptr in a.
for (int i=0; i<n; i++) {
a = 0; // Initialize all elements to zero.
}
. . . // Use a as a normal array
delete [] a; // When done, free memory pointed to by a.
a = NULL; // Clear a to prevent using invalid memory reference.
4.假設
int a1[]={0,1,2};
int a2[]={0,1,2,3};
該如何a2的值複製給a1?
我可以想得到的是只有一個笨方法,跑個迴圈複製每個元素
不過 a1 陣列 size 小於 a2,容量不夠,沒辦法完全複製過去
|
|
|