realloc和malloc(C语言中用动态数组储存一个长度未知的字符串,应该怎么使用malloc和realloc函数)
本文目录
- C语言中用动态数组储存一个长度未知的字符串,应该怎么使用malloc和realloc函数
- realloc()函数是干什么用的
- 请问c语言中malloc函数和realloc的区别
- C++为什么不建议使用malloc,calloc,realloc来分配内存
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
realloc()函数是干什么用的
它和malloc函数相关的。例如:你用malloc函数分配100个字节空间char *p =(char*)malloc(100);然后,你觉得这块空间不够你用,你申请的少了,那么你就可以使用 realloc来改变这个空间大小。p= (char*)realloc(p,200);希望对你有帮助。
请问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函数不需要强制转化。
C++为什么不建议使用malloc,calloc,realloc来分配内存
第一个 C++里面有new 和delete可以实现类似功能。 malloc系列是函数,而new是操作符 用new更高效第二个 对于对象的内存分配 使用new可以调用构造函数而用malloc则不会, 所以有可能出现不可预知问题, 尤其是派生类对象,如果有虚函数表,那么用malloc出来的类对象,使用就是一场灾难
更多文章:
except的用法总结(英语中关于expect besides expect for等表示除了的用法)
2024年7月2日 05:50
为什么编程语言不能是中文(计算机的汇编语言为什么没有中文的版本)
2024年8月11日 01:50
excel函数公式设置颜色(excel怎么用IF函数,改变字体的颜色)
2024年7月16日 17:25
spring festival初一作文(我的春节英语作文 初一水平的)
2024年6月6日 02:28
caution的形容词(caution 和 careful 和 attention的区别和用法是什么)
2024年7月1日 12:15
return to normal(英语Normal font怎么翻译)
2024年7月22日 20:28
c语言课程设计答辩问题(课程设计要答辩 C语言没怎么学 可以简单讲解一下这个程序么 帮忙加一下注释)
2024年8月22日 19:15
dos系统怎么进入(在windows中进入ms-dos有几种方法)
2024年7月14日 16:41
hamburger是什么意思中文(hamburger翻译中文是什么意思)
2024年6月30日 22:28
正则截取部分字符串(python 正则表达式如何截取字符串中间的内容)
2024年10月18日 03:50
大学生自学网app下载(大学生在使用电脑的同时,应该学会哪些对以后工作有用的软件或者技能呢)
2024年5月17日 18:19
matlab编程与工程应用第三版课后答案(MATLAB与系统仿真 试题)
2024年4月21日 13:05