可以採用3中辦法來解決動態記憶體不能傳遞的問題
在c語言中,可以通過採用指向指標的指標解決這個問題,可以把str的位址傳給函式getmemory.
在c++中,多了一種選擇,就是傳遞str指標的引用;
使用函式返回值來傳遞動態記憶體;
**如下:
#include
using
namespace
std;
void getmemory(char *p,int num)
;void getmemory2(char **p,int num)
;void getmemory3(char* &p,int num)
char *getmemory4(int num)
int main()
getmemory函式並不能做任何有用的事情,由於從getmemory函式返回時不能獲得堆中記憶體的位址,那塊堆記憶體就不能被繼續引用,也就得不到釋放,因此呼叫一次getmemory函式就會產生num位元組的記憶體洩漏。 傳遞動態記憶體
當你涉及到c c 的核心程式設計的時候,你會無止境地與記憶體管理打交道.這些往往會使人受盡折磨.所以如果你想深入c c 程式設計,你必須靜下心來,好好苦一番.現在我們將討論c c 裡我認為哪一本書都沒有完全說清楚,也是涉及概念細節最多,語言中最難的技術之一的動態記憶體的傳遞.並且在軟體開發中很多專業...
傳遞動態記憶體
當你涉及到c c 的核心程式設計的時候,你會無止境地與記憶體管理打交道。這些往往會使人受盡折磨,所以如果你想深入c c 程式設計,你必須靜下心來好好苦一番。現在我們將討論c c 裡我認為哪一本書都沒有完全說清楚,也是涉及概念細節最多,語言中最難的技術之一的動態記憶體的傳遞。並且在軟體開發中很多專業人...
傳遞動態記憶體
當你涉及到c c 的核心程式設計的時候,你會無止境地與記憶體管理打交道.這些往往會使人受盡折磨.所以如果你想深入c c 程式設計,你必須靜下心來,好好苦一番.現在我們將討論c c 裡我認為哪一本書都沒有完全說清楚,也是涉及概念細節最多,語言中最難的技術之一的動態記憶體的傳遞.並且在軟體開發中很多專業...