请问c语言中malloc函数和realloc的区别

如题所述

c语言中malloc函数和realloc函数的区别为:分配不同、释放不同、强制转化不同。

一、分配不同

1、malloc函数:malloc函数对没有分配过的内存块直接进行分配。

2、realloc函数:realloc函数是在已经分配好的内存块重新进行分配。

二、释放不同

1、malloc函数:malloc函数分配好的内存块一般要用free(size_t size)来释放内存块。

2、realloc函数:realloc函数分配好的内存块不需要用free(size_t size)来释放内存块。

三、强制转化不同

1、malloc函数:malloc函数需要强制转化。

2、realloc函数:realloc函数不需要强制转化。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-19
1.malloc(n*sizeof(int)) /* 请求n个连续的、每个长度为整型的空间,若成功返回这些空间的首地址,失败返回0 */
2.realloc(p,sizeof(int)*n) /* 给一个已经分配了地址的指针重新分配空间,参数p为原有的空间地址*/本回答被提问者采纳
第2个回答  2010-08-27
相似回答