| 
 | 
 本帖最後由 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,容量不夠,沒辦法完全複製過去 
 
 
 |  
  |   
 
 
 
 |