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

2024-02-21 06:30:20 :48

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

各位老铁们,大家好,今天由我来为大家分享realloc和malloc,以及请问c语言中malloc函数和realloc的区别的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

本文目录

请问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函数不需要强制转化。

realloc()函数是干什么用的

它和malloc函数相关的。例如:你用malloc函数分配100个字节空间char *p =(char*)malloc(100);然后,你觉得这块空间不够你用,你申请的少了,那么你就可以使用 realloc来改变这个空间大小。p= (char*)realloc(p,200);希望对你有帮助。

C语言中用动态数组储存一个长度未知的字符串,应该怎么使用malloc和realloc函数

char* buffer;buffer = (char *)malloc(initialize size);buffer = (char *)realloc(buffer, initialize size+add size);一般做法是设定一个初始值,再设定一个追加值。比如:*p初始分配10个字符空间。当空间不够用的时候,每次增加20个字符空间。这样会增加效率。象你这样:初始p = (char *)malloc(10);当判断空间不够用的时候,重分配:p = (char*)realloc(p, 10+100*n++); //n做重分配次数计数器,初值=1如果再不够用,就再次调用:p = (char*)realloc(p, 10+100*n++); //这时n=2了,n++后=3

C++为什么不建议使用malloc,calloc,realloc来分配内存

第一个 C++里面有new 和delete可以实现类似功能。 malloc系列是函数,而new是操作符 用new更高效第二个 对于对象的内存分配 使用new可以调用构造函数而用malloc则不会, 所以有可能出现不可预知问题, 尤其是派生类对象,如果有虚函数表,那么用malloc出来的类对象,使用就是一场灾难

关于realloc和malloc,请问c语言中malloc函数和realloc的区别的介绍到此结束,希望对大家有所帮助。

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

本文编辑:admin
realloc和mallocloc函数 ,alloc
Copyright © 2022 All Rights Reserved 威海上格软件有限公司 版权所有

鲁ICP备20007704号

Thanks for visiting my site.