語言malloc和指標傳遞陷阱

2021-08-18 23:14:57 字數 568 閱讀 4454

最近寫二叉樹的基本操作的時候發現了這個問題,所以寫了個簡單的例子,做個筆記

下列初始化陣列過程

#include void init_array(int* arr,int

size)

}int main()

return

0;}

然後執行發現

也就是說陣列並沒有被初始化。

後來找到發現問題在這裡arr = (int*)malloc(sizeof(int) * size);

雖然傳入的時候是把位址給了函式的第乙個引數arr,但是由於malloc重新對位址進行了賦值,所以之後的操作也就不是對原來引數的操作了

修正

void init_array(int** arr,int size)

}int main()

printf("\n");

std::cout

<< "hello, world!"

<< std::endl;

return

0;}

傳遞指標的指

傳遞指標和傳遞指標的指標

總是不懂指標 看了乙個csdn的問題 豁然開朗 在寫乙個棧的東西,在銷毀的時候有點小問題 define position int define size t int define elemtype char define buttom 1 struct ststack typedef struct ...

指標和引數傳遞 Go語言

獲取變數的位址 go語言的取位址符 乙個變數前使用 會返回該變數的記憶體位址。func main 指標特點 t是指標變數的型別,它指向t型別的值。var 指標變數名 指標型別 定義指標變數 為指標變數賦值 訪問指標變數中指向位址的值 獲取指標的值 在指標型別的變數前加上 號來獲取指標所指向的內容 g...

C語言指標引數陷阱

本人是乙個剛開始學資料結構的大二學生,最近在學習鍊錶的時候出現了一些小問題,一下是這個問題的詳細分析,雖然是很簡單,很可笑的乙個小問題,卻也值得深究 include include 這裡構造乙個結構體,用來表示鍊錶的乙個節點 typedef struct ysfysf,pysf 建立乙個節點 voi...