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 分別編譯,看生成檔案的大小...