当前位置: 技术问答>linux和unix
malloc和realloc的区别
来源: 互联网 发布时间:2016-05-06
本文导语: 两个函数好像都是申请新的存储空间,有什么区别呢?什么时候用malloc?什么时候用realloc? | malloc是申请一个新的内存。 而realloc一般用于已有内存不够了,需要扩大时调用这个。 例如 char* ...
两个函数好像都是申请新的存储空间,有什么区别呢?什么时候用malloc?什么时候用realloc?
|
malloc是申请一个新的内存。
而realloc一般用于已有内存不够了,需要扩大时调用这个。
例如
char* pTmp = malloc(3);
strcpy(pTmp, "ok");
//这时,又想往pTmp追加一些字符,但是内存不够,
//那就这样
pTmp = realloc(10);
//这时,pTmp就有了10个自己了,可以追加字符了
strcat(pTmp, "again");
//使用完,free一次即可
free pTmp
大致意思就这样,只是示意代码,写的不严谨。
而realloc一般用于已有内存不够了,需要扩大时调用这个。
例如
char* pTmp = malloc(3);
strcpy(pTmp, "ok");
//这时,又想往pTmp追加一些字符,但是内存不够,
//那就这样
pTmp = realloc(10);
//这时,pTmp就有了10个自己了,可以追加字符了
strcat(pTmp, "again");
//使用完,free一次即可
free pTmp
大致意思就这样,只是示意代码,写的不严谨。
|
首先alloc是申请
malloc是申请
realloc就是重新申请。
差别1楼说了。
malloc是申请
realloc就是重新申请。
差别1楼说了。