2021-12-31 10:22:32|已瀏覽:4379次
我們用C/C++開發的過程中,總是有一個問題會給我們帶來苦惱。這個問題就是函數內和函數外代碼需要通過一塊內存來交互(比如,函數返回字符串),這個問題困擾和很多開發人員。如果你的內存是在函數內棧上分配的,那么這個內存會隨著函數的返回而被彈棧釋放,所以,你一定要返回一塊函數外部還有效的內存。
這是一個讓無數人困擾的問題。如果你一不小心,你就很有可能在這個上面犯錯誤。當然目前有很多解決方法,如果你熟悉一些標準庫的話,你可以看到許多各式各樣的解決方法。大體來說有下面幾種:3)第三種方式顯得比較另類,他利用了static的特性,static的棧內存一旦分配,那這塊內存不會隨著函數的返回而釋放,而且,它是全局可見的(只要你有這塊內存的地址)。所以,有一些函數使用了static的這個特性,即不用使用堆上的內存,也不需要用戶傳入一個buffer和其長度。從而,使用得自己的函數長得很漂亮,也很容易使用。
本文由培訓無憂網達內教育專屬課程顧問老師整理發布,更多C語言課程信息可關注培訓無憂網C語言培訓頻道或添加老師微信:15033336050
注:尊重原創文章,轉載請注明出處和鏈接 http://m.dedgn.cn/news-id-11440.html 違者必究!部分文章來源于網絡由培訓無憂網編輯部人員整理發布,內容真實性請自行核實或聯系我們,了解更多相關資訊請關注c語言頻道查看更多,了解相關專業課程信息您可在線咨詢也可免費申請試課。關注官方微信了解更多:150 3333 6050
姓名:
手機:
地區: