開闢和釋放記憶體區的函式

2022-07-20 21:54:48 字數 431 閱讀 2457

1.malloc()函式

原型:void *malloc(unsigned size)

其功能是在記憶體的動態儲存區中分配長度為size個位元組的連續空間。

其返回值=     1).分配空間的起始位址(分配成功)

2).空指標null(分配失敗,一般是沒有空間)

2.free(p)函式

該函式表示釋放由p指向的記憶體區,是這部分記憶體可以分配給其它變數。

舉例:#include

main()

double *p;

p=(double*)malloc(sizeof(double));

if(p==0)

printf("molloc errror\n");

exit(0);

*p=78.786;

printf("*p=%f\n",*p);

c 記憶體的開闢和釋放

關於new和delete,malloc和free。我們都知道,是在不同的語言裡面做相應的記憶體的開闢和釋放工作的,那麼這篇博文就來好好的了解一下他們的區別和工作原理吧 1 引言 首先,我們還是寫乙個我們經常使用的在c語言中動態開闢的方式 int main p 10 free p return0 其中...

記憶體的動態開闢與釋放

malloc free與new delete 1 new會拋異常,但是malloc不會拋異常 2 new delete屬於操作符,但是malloc free屬於函式 3 new申請空間的時候會呼叫建構函式進行初始化,malloc不會 delete釋放記憶體時會呼叫析構函式,free只是切斷了指向關係...

delete釋放new 開闢的記憶體

直接看下面這道題 使用 char p new char 10 申請一段記憶體,然後使用delete p釋放,有什麼問題?a 會有記憶體洩露 b 不會有記憶體洩露,但不建議用 c 編譯就會報錯,必須使用delete p d 編譯沒問題,執行會直接崩潰 這道題題目開闢的是10個char型別的空間,因為是...