函式引數是二級指標的問題

2022-06-27 21:00:14 字數 359 閱讀 2876

實際應用中再一次遇到了函式引數是二級指標的問題,如下是正確的版本

void main(void

)void fun_change(uint8 **tem_buf)

void fun_free(uint8 **tem_buf)

如下是錯誤的版本,在於一級指標只能改變其指向的內容,而不能改變其本身的值,所以在fun_change裡面給tem_buf賦值,形參改變,實參不改變。

void main(void

)void fun_change(uint8 *tem_buf)

void fun_free(uint8 *tem_buf)

一級指標還是二級指標作函式引數(2)

程式1 void main void mymalloc char s 我想在函式中分配記憶體,再返回 mymalloc p 的執行過程 分配乙個臨時變數char s,s的值等於p,也就是null,但是s占用的是與p不同的記憶體空間。此後函式的執行與p一點關係都沒有了!只是用p的值來初始化s。然後s ...

一級指標 二級指標做函式引數的深入剖析

在講述內容之前,先講四點重要知識 1.當傳入引數時,函式形參會立即申請形參的記憶體空間,函式執行完畢後,形參的記憶體空間立即釋放掉。1.指標是存放其他變數位址的變數。指標有自己的記憶體空間,記憶體空間存放的是其他變數的位址。2.指標具體指向誰,要看指標記憶體空間存放的位址。存放誰的位址就指向誰。3....

一級指標 二級指標做函式引數的深入剖析

在講述內容之前,先講四點重要知識 1.當傳入引數時,函式形參會立即申請形參的記憶體空間,函式執行完畢後,形參的記憶體空間立即釋放掉。1.指標是存放其他變數位址的變數。指標有自己的記憶體空間,記憶體空間存放的是其他變數的位址。2.指標具體指向誰,要看指標記憶體空間存放的位址。存放誰的位址就指向誰。3....