腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
当realloc()失败并返回NULL时,它的正确用法是什么?
当realloc()失败并返回NULL时,正确的用法是:
保持原有内存块不变:如果内存重新分配失败,realloc()会返回NULL,这时我们应该保持原有内存块不变,继续使用它。
处理错误:当realloc()返回NULL时,表示内存分配失败。我们应该采取适当的措施处理这个错误,例如释放其他不必要的内存,或者向用户报告错误。
检查指针:在使用realloc()返回的指针之前,应该检查它是否为NULL。如果它是NULL,说明内存分配失败,我们应该采取相应的措施,例如释放原有内存,或者向用户报告错误。
重新分配内存:如果原有内存块仍然不足,我们可以尝试重新分配内存。这时,我们可以使用其他内存分配函数,例如malloc()或calloc(),来分配新的内存。
拷贝数据:如果我们决定保留原有内存块,那么我们需要在新的内存块中拷贝原有内存块中的数据。这可以通过使用memcpy()或其他拷贝函数来实现。
释放原有内存:在拷贝数据后,我们可以使用free()函数来释放原有内存块。
推荐的腾讯云相关产品:
腾讯云云服务器:提供高性能的云服务器,可以满足各种应用场景的需求。
腾讯云对象存储:提供可靠的数据存储服务,可以用于存储各种类型的文件。
腾讯云数据库:提供各种类型的数据库服务,包括关系型数据库、非关系型数据库等。
腾讯云内容分发网络:提供高速、稳定的内容分发服务,可以加速网站、应用程序等的访问速度。
腾讯云CDN:提供全球加速、智能负载均衡等服务,可以提高网站、应用程序等的访问速度和稳定性。
产品介绍链接地址:
腾讯云云服务器:
https://cloud.tencent.com/product/cvm
腾讯云对象存储:
https://cloud.tencent.com/product/cos
腾讯云数据库:
https://cloud.tencent.com/product/cdb
腾讯云内容分发网络:
https://cloud.tencent.com/product/cdn
腾讯云CDN:
https://cloud.tencent.com/product/cdn
相关搜索:
在移动到另一个片段并返回到另一个片段时,保存一个片段中的textView值的正确方法是什么?
当filter命令重复时,过滤df而不返回null的最好方法是什么?
当更新序列化模型时,失败并返回与我提供的表名不同的表名?
当请求数据内容格式正确,但未通过数据验证时,WCF Web服务应返回的正确HTTP状态代码是什么?
云计算iaas/paas/saas
字符串匹配算法javascript
字符串加密解密算法16位或者32位
字符串查找算法javascript
自适应遗传算法与模拟退火算法相结合
自适应模拟退火遗传算法matlab
相关搜索:
在移动到另一个片段并返回到另一个片段时,保存一个片段中的textView值的正确方法是什么?
当filter命令重复时,过滤df而不返回null的最好方法是什么?
当更新序列化模型时,失败并返回与我提供的表名不同的表名?
当请求数据内容格式正确,但未通过数据验证时,WCF Web服务应返回的正确HTTP状态代码是什么?
云计算iaas/paas/saas
字符串匹配算法javascript
字符串加密解密算法16位或者32位
字符串查找算法javascript
自适应遗传算法与模拟退火算法相结合
自适应模拟退火遗传算法matlab
页面内容是否对你有帮助?
有帮助
没帮助
相关·
内容
文章
问答
(9999+)
视频
沙龙
4
回答
当
realloc
()
失败
并
返回
NULL
时
,
它
的
正确
用法
是什么
?
、
、
谁能总结一下
realloc
()
的
正确
用法
是什么
到目前为止,我所看到
的
似乎是,如果
realloc
()
失败
,您必须free()旧指针。这是真的吗?char *new_ptr =
realloc
(ptr, sizeof(*new_ptr) * 60); 5.return
NULL<
浏览 0
提问于2010-07-26
得票数 17
回答已采纳
2
回答
将
realloc
()分配给不同
的
指针和将
realloc
()分配给同一个指针有什么区别吗?
、
、
我对在C中使用动态内存还是个新手,我想知道使用
realloc
()分配给不同
的
指针和使用
realloc
()分配相同
的
指针是否有什么区别。例如: int *ptr = calloc(10,sizeof(int))int *ptr = calloc(10,sizeof(int)) ptr3=(int*)
realloc
(ptr,20); 我已经执行了这两个代码,并且我看不到这两个代码之间
的
真正区别(也没有
浏览 15
提问于2021-06-18
得票数 0
3
回答
释放从
realloc
返回
的
空指针?
、
、
当我有一个指针,这个指针应该被反复用作
realloc
的
参数
并
保存
它
的
返回
值
时
,我知道如果不能进行分配,
realloc
不会碰旧对象,
返回
NULL
。我是否仍应担心建筑中
的
旧物件,例如:if (p = (int *)
realloc
(p, 2 * sizeof(int *)现在,如果
realloc</e
浏览 5
提问于2021-09-07
得票数 6
回答已采纳
4
回答
在使用
realloc
之前是否需要释放指针变量?
、
、
、
在为指针变量再次使用
realloc
之前,是否有必要释放内存。以下哪一项是
正确
的
?for(i = 0; i < n; i++){} myArray = (int *)
realloc
(myArray, i*sizeof(int)); myArray =
NULL
; }
浏览 2
提问于2012-07-19
得票数 6
回答已采纳
6
回答
关于在C++代码中使用
realloc
实现
的
问题
、
、
朋友然后,如果无法获得内存
的
big_size字节,则p
的
值为
NULL
,并且我们不再有指向以前分配给p
的
内存
的
指针
并
指出纠正上述错误
的
正确
方法是: void *p = malloc
浏览 5
提问于2009-03-09
得票数 2
回答已采纳
5
回答
如何知道在使用
realloc
()
时
,内存是否用完了,还是出现了错误?
、
realloc
(void *ptr, size_t new_size)在两种情况下
返回
NULL
: 如果我们缺少内存,我可能会把一些内存转到磁盘上。 我怎么知道我是否应该做free(ptr)?(也许
它
已经被
realloc
释放了)。
浏览 4
提问于2013-04-12
得票数 3
回答已采纳
1
回答
值磨误差条件跳变
、
我正在编写一个程序,在输入一个特定
的
单词之前加载输入,在这个例子中,
它
的
单词"konec".Although --我
的
程序似乎工作得很好--我无法解决这个值磨错误==16573== Uninitialised value was created by a heap allocation ==16573== Uninitialised value
浏览 3
提问于2015-05-22
得票数 0
回答已采纳
2
回答
动态数组:使用
realloc
()而没有内存泄漏
、
、
我使用
realloc
来调整分配
的
内存大小:{ int n; } return
NULL
; result = (char **)
realloc
(result, sizeof(char *)
浏览 1
提问于2014-12-21
得票数 8
回答已采纳
3
回答
realloc
():
当
为char *上
的
strcat重新分配空间
时
,下一个大小无效
、
、
、
、
以下代码出现无效内存错误:printf("%s LENGTH IS: %d\n","FINE 6",strlen(": ")); 这里要注意
的
一点是,从来没有打印过Fine 7。并且每次运行<
浏览 1
提问于2011-12-08
得票数 17
回答已采纳
4
回答
在尝试分配新内存之前,
realloc
会释放内存吗?
、
我在这里
的
练习中遇到了问题-我想更多地了解
realloc
函数-当然,
当<
浏览 1
提问于2020-01-07
得票数 0
4
回答
使用
realloc
安全吗?
、
、
、
不久前,我
的
一个朋友告诉我不要使用
realloc
,因为它不安全,但他不能告诉我为什么,所以我对这个问题做了一些研究,最近提到我怀疑
的
是: 我想知道我是否可以在代码中继续使用
realloc
浏览 8
提问于2012-01-30
得票数 16
回答已采纳
3
回答
C-函数内部
的
动态分配/重定位
、
、
、
、
我用C编写了这个函数(函数应该接收一个char*,分配必要
的
空间,
并
插入一个指针指向指针后面字符索引
的
字符){ { *string=<
浏览 0
提问于2013-10-22
得票数 0
回答已采纳
4
回答
realloc
只是扩展内存,还是会导致内存问题?
、
、
: %p\n", *array); printf("After
realloc
: %25 26 27 28 29 30 31 从输出中,
realloc
返回
一个指向新内存地址
的
指针。所以问题是,除了释放原始malloc创建
的
位置之外,我还应该显式地释放这个位置吗?或者
它
正在执行上面的代码所需
的
操作,即Just expa
浏览 0
提问于2011-09-20
得票数 2
回答已采纳
4
回答
正确
使用
Realloc
、
这是我学到
的
使用
realloc
()
的
方法a =
realloc
(a, 100); // Why do we do "a = .... ?"if(a ==
NULL
) 这不是多余
的
吗?我就不能这样做吗?: if(
realloc
(a, 100) ==
NULL
) //Deal wit
浏览 0
提问于2017-06-28
得票数 5
4
回答
如果
失败
,
realloc
会释放前一个缓冲区吗?
如果
realloc
失败
并
返回
NULL
,是前一个缓冲区已释放还是保持完好?我没有在手册页中找到这条特定
的
信息,我不确定该怎么做。如果内存被释放,那么双重释放可能会有风险。如果不是,那么就会发生泄漏。
浏览 9
提问于2009-10-22
得票数 30
4
回答
realloc
和缓冲区溢出
while (spaceUsedUp + strlen(nextLine) > allocatedSize) { } perror("
realloc
"); DPRINTF('h', ("Next line length
浏览 3
提问于2012-12-06
得票数 5
回答已采纳
2
回答
将内存分配(
realloc
)与具有动态数组
的
结构
的
指针一起使用时出错
、
、
、
vector_int.h是一个具有自制动态数组(向量)结构
的
头部。} IntVector; {
realloc
\Work\Raspberry Pi\vector_int.h [Warning] incompatible implicit declaration of built-in function '
realloc</
浏览 0
提问于2012-08-04
得票数 2
回答已采纳
1
回答
如果
Realloc
()
失败
,调用方是否会丢失先前malloc()调用
的
数据prom?
、
、
、
、
以下是一次考试
的
引文(1%
的
顶尖大学)。我有一种预感,他
的
答案是不
正确
的
。 在下面的函数中有一个潜在
的
错误。它
是什么
,我如何修复
它
? 提示:这与
realloc
()函数
的
使用有关。请确定您要更改
的
行号,以及您将用.替换它们
的
内容。string) {
浏览 4
提问于2020-05-23
得票数 3
1
回答
如何重新分配缩小数组
的
大小?
例如:我
的
数组包含整数{1, 2 ,3,4},我想调整数组
的
大小以包含{2,3,4},当我数组
时
,
它
应该给我2。
浏览 0
提问于2016-11-26
得票数 1
2
回答
C使用malloc和
realloc
动态增加字符串长度。
、
、
、
目前正在学习C语言
的
内存管理,我目前遇到
的
问题是,随着循环
的
迭代,字符串长度会增加。我试图找出
的
逻辑方法如下所示: res =
re
浏览 1
提问于2019-12-21
得票数 1
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
数据结构课程中的一点C语言基础
Android NDK开发之C语言基础:动态内存分配
详解Java函数习惯用法
Linux系统编程 条件变量
2017年最全的excel函数大全11—多维数据集函数
热门
标签
更多标签
云服务器
ICP备案
对象存储
实时音视频
即时通信 IM
活动推荐
运营活动
广告
关闭
领券