再回首 四 二級指標做函式引數的應用

2021-07-05 18:52:06 字數 989 閱讀 3660

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 ...