常見動態分配記憶體分配函式

2021-07-05 05:40:30 字數 1015 閱讀 8245

1.malloc函式的使用方法 :

void *malloc(unsigned size);

其中size是指的分配記憶體的位元組

void *malloc(

unsigned size

) ,包含在庫函式

stdlib.h

中,作用是在記憶體的堆區分配乙個大小為size的連續空間,如果分配記憶體成功,函式返回新分配記憶體的首位址,否則,返回null,注意:鑑於上述這點,一般在寫程式需要判斷分配記憶體是否成功。在使用完畢以後必須手動釋放記憶體空間,否則會造成記憶體洩露。 malloc分配的是一塊連續的記憶體。

例:

int *p;

p=(int *)malloc(sizeof(int)*4); // 分配出4個int型的儲存空間

if(p!=null)

............//需要執行的語句

else

............//列印分配記憶體不成功出錯資訊

free(p); // 釋放空間

p = null; // 清空指標 被釋放後的指標不可在使用

2.calloc函式的使用:

原型為:

void*calloc(unsigned n,unsigned size); // c語言環境下
void *calloc(size_tenum_elements,size_t element_size); // oc環境下

n表示需要分配記憶體的資料項個數,size指每個資料項的大小,calloc函式會把儲存空間初始化為0 

返回指向記憶體的指標之前把它初始化為0 。

例:

#include #include int main(int argc, const char * argv) 

free(p); // 釋放

return 0;

}

記憶體動態分配

陣列的元素儲存於記憶體中連續的位置上。當乙個陣列被宣告時,它所需要的內存在編譯時就被分配。但是,你也可以使用動態記憶體分配在執行時為它分配記憶體。malloc所分配的是一塊連續的記憶體。例如,如果請求它分配100個位元組的記憶體,那麼它實際分配的記憶體就是100個連續的位元組,並不會分開位於兩塊或多...

動態分配記憶體

動態記憶體分配即分配記憶體大小在執行時才確定,一般在堆中分配。c語言動態記憶體分配相關的函式。include void malloc size t size malloc的使用比較直接,乙個成功的malloc呼叫返回分配的size大小的記憶體的指標。失敗時返回null並將錯誤 置為enomem。教材...

動態分配記憶體

動態分配記憶體 動態分配記憶體也可以分配儲存區,這種方式可以在程式執行的時候臨時決定分配的儲存區大小 為了管理動態分配的記憶體,就需要使用一組標準函式 為了使用這些標準函式,需要包含stdlib.h標頭檔案 malloc 函式可以動態分配一組連續的位元組 這個函式需要乙個整數型別引數表示分配的位元組...