動態記憶體的傳遞

2021-09-30 14:46:10 字數 531 閱讀 8997

可以採用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 裡我認為哪一本書都沒有完全說清楚,也是涉及概念細節最多,語言中最難的技術之一的動態記憶體的傳遞.並且在軟體開發中很多專業...