對於malloc 函式的整理

2021-10-03 12:16:36 字數 1536 閱讀 9824

void

*malloc

(unsigned

int num_bytes)

;//分配長度為num_bytes位元組的記憶體塊

函式說明:使用例項:

#include

#include

intmain()

printf

("%s"

,buffer)

;return0;

}

執行效果:

函式原型:

void

*calloc

(size_t num, size_t size)

;

函式說明:使用舉例(以下兩個例子實現同樣的功能):

/*例子一*/

char

*str1 =

(char*)

calloc(10

,sizeof

(char))

;/*例子二*/

char

*str2 =

(char*)

malloc(10

);memset

(str2,0,

10);//memset初始化函式,將str2後面的10個位元組用0代替並返回str2

因為當使用malloc申請空間,當不再使用該空間時使用free函式釋放,這才叫「動態記憶體分配」使用舉例:

int

*p;p =

(int*)

malloc

(sizeof

(int)*

128)

;//分配128個整型儲存單元,並將這128個連續的整型儲存單元的首位址儲存到指標變數p中

double

*pd =

(double*)

malloc

(sizeof

(double)*

12);//分配12個double型儲存單元,並將首位址儲存到指標變數pd中

free

(p);

free

(pd)

;p =

null

;pd =

null

;// 指標用完賦值null是個好習慣

總結:分享就到這裡,感謝**。

「寫程式,不比其它的學科,動手才是硬道理。」 ——絕影hamber

對於函式的整理和理解

函式的呼叫方式有三種,第一種叫傳值呼叫,這種只是單獨把實參的值傳給形參,但是形參值改變時實參值並不會發生改變 這種方式是比較簡單的呼叫方式 第二種是引用這種是把實參形參聯絡起來,意思就是實參和形參實際為乙個量 就和每種物體都有好幾個名字一樣,但卻都是指一種東西,這種呼叫方式彌補了傳值呼叫的確定,這時...

malloc函式 new和malloc的區別

1 申請的記憶體所在位置 new操作符從自由儲存區上為物件動態分配記憶體空間,而malloc函式從堆上動態分配記憶體。自由儲存區是c 基於new操作符的乙個抽象概念,凡是通過new操作符進行記憶體申請,該記憶體即為自由儲存區。而堆是作業系統中的術語,是作業系統所維護的一塊特殊記憶體,用於程式的記憶體...

malloc函式的問題

首先我們看看以下 include include include define size 0x40000 十六進製制的表示方法,等於十進位制262 144,你們要習慣用十六進製制,因為兩個十六進製制剛好是乙個位元組 int main 就是以上 你們使用vc和turbo c 分別編譯,看生成檔案的大小...