C語言學習【20】-動態變量跨函數調用

啥也不說了上代碼

輸出結果爲:

這裏爲什麼要用二維指針?

因爲一個函數調用完成後,就會出棧,該函數所佔的內存就會釋放掉,所以我們用一維指針 p 指向該內存的話在該內存釋放後就不能訪問該內存了,那麼我們就需要在建立一個動態內存來將該內存的值在還沒有釋放掉的時候保存它。這時我們就用到了一個malloc函數,我們知道malloc函數返回值是一個地址,我們需要使指針變量 p 指向這個地址。對於一個變量如何在別的函數更改這個值?當然是取地址了,如果不清楚看這個https://mp.csdn.net/postedit/104202194,那麼以一維指針變量 p 的地址作爲輸入,調用函數的形參肯定就只能是二維指針了。

所以,爲什麼要用二維指針,是因爲我們要改變 main() 函數中一維指針指向的內存。因爲二維指針是隻和一維指針有直接聯繫。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章