看板 C_and_CPP 關於我們 聯絡資訊
proLIONS:you should use **a instead of *a09/18 12:50
proLIONS:you may think of **a as something like *a[]09/18 12:51
感謝p兄指教 改成這個樣子的確就可以了: void change(int **a, int &length) { delete [] *a; length += 2; *a = new int [length]; for(int i=0;i<length;i++) (*a)[i] = i+1; } int main() { int length = 3; int *a = new int [length]; int **aa = &a; for(int i=0;i<length;i++)a[i]=i+1; for(int i=0;i<length;i++)cout<<a[i]<<" "; for(int i=0;i<5;i++){ change(aa, length); for(int j=0;j<length;j++)cout<<a[j]<<" "; cout<<endl; } delete [] a; return 0; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.160.43.22 ※ 編輯: jackwei 來自: 118.160.43.22 (09/18 14:55)
QQ29:用*&阿 09/18 15:21
nowar100:我來自推一下 置底十三誡No.13 XD 09/18 15:22
jackwei:原來有*&這種用法 又受教啦 09/18 15:33
x000032001:看到這篇我才搞懂*& = =a 09/18 15:46
LPH66:*& 是 C++ 才有的喔~ 寫 C 的還是得用這篇的方法 XD 09/18 16:13
purpose:不知不覺,從十誡變成十三誡了 09/18 16:15