int getarray3_free(char **p3, int p3num)
for (i=0; i0)
}} //通過間接賦值,把結果甩給實參
*num3=tmpnum3;
*myp3 = tmpp3; //*0 = 100;
return ret;
}char **getarray3(char **myp1, int num1, char (*myp2)[30], int num2, int *num3)
//準備記憶體
tmpnum3 = num1 + num2;
//分配第一維
tmpp3 = (char **)malloc(tmpnum3 * sizeof(char *));
if (tmpp3 == null)
//分配第二維 把第一種記憶體模型資料和第二種記憶體模型資料,copy到第3中記憶體模型中
for (i=0; i0)}}
*num3=tmpnum3;
return tmpp3;
}void main()
; char p2[4][30] = ;
char **p3 = null;
char ***myerrp3 = null;
//p3 = getarray3(p1, 3, p2, 4, &num3);
//ret = getarray3_2(p1,3, p2, 4, &p3, &num3);
ret = getarray3_2(p1,3, p2, 4, 0, &num3); //錯誤做法
if (ret != 0)
for (i=0; i//getarray3_free(p3, num3);
// p3=null;
getarray3_free2(&p3, num3);
printf("p3:%d \n", p3);
system("pause");
}
一級指標 二級指標做函式引數的深入剖析
在講述內容之前,先講四點重要知識 1.當傳入引數時,函式形參會立即申請形參的記憶體空間,函式執行完畢後,形參的記憶體空間立即釋放掉。1.指標是存放其他變數位址的變數。指標有自己的記憶體空間,記憶體空間存放的是其他變數的位址。2.指標具體指向誰,要看指標記憶體空間存放的位址。存放誰的位址就指向誰。3....
一級指標 二級指標做函式引數的深入剖析
在講述內容之前,先講四點重要知識 1.當傳入引數時,函式形參會立即申請形參的記憶體空間,函式執行完畢後,形參的記憶體空間立即釋放掉。1.指標是存放其他變數位址的變數。指標有自己的記憶體空間,記憶體空間存放的是其他變數的位址。2.指標具體指向誰,要看指標記憶體空間存放的位址。存放誰的位址就指向誰。3....
二級指標做函式引數的輸入輸出特性
輸入特性 define crt secure no warnings include include include 二級指標做函式引數的輸入特性 主調函式分配記憶體,被調函式使用 void printarray int parray,int len void test01 void test02 ...