realloc invalid pointer错误解析

本文涉及的产品
云解析DNS,个人版 1个月
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介: realloc invalid pointer错误 char* temp=(char*) realloc(src,sizeof(char)*100); 如上面这行代码,可能会出现标题中的错误。错误原因是因为src指向的不是NULL或堆中的地址。

realloc invalid pointer错误

char* temp=(char*) realloc(src,sizeof(char)*100);

如上面这行代码,可能会出现标题中的错误。错误原因是因为src指向的不是NULL或堆中的地址。

具体的就是realloc函数要求src为下面两种情况

1.src==NULL

2.src指针必须是malloc(), calloc(), 或realloc()分配的

 

造成错误的代码

造成错误的代码一般是如下形式是

char* src="Hello world!";//错误代码

或者

char src[100];//错误代码

上面这两种方式分配内存位于栈区(如果src为局部变量)或者静态区(如果src为全局变量)。讲这样的src传给realloc就会发生realloc invalid pointer错误。

 

解决方法:

1.将src用malloc显示分配内存

char* src="Hello world!";//错误代码

可以用下面的代码替换

char* src=(char*) malloc(strlen("Hello world!"));

strcpy(src,"Hello world!");//这个要用到string.h头文件

 

char src[100];//错误代码

可以用下面的代码替换

char* src=(char*) malloc(sizeof(char)*100);

 

2.将src置为NULL

char* src=NULL;

本文由ladd原创,转载请注明出处

http://www.cnblogs.com/ladd/archive/2012/07/02/2572112.html

img_e00999465d1c2c1b02df587a3ec9c13d.jpg
微信公众号: 猿人谷
如果您认为阅读这篇博客让您有些收获,不妨点击一下右下角的【推荐】
如果您希望与我交流互动,欢迎关注微信公众号
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。

目录
相关文章
|
2月前
Maximum call stack size exceeded报错的原因及解决办法
Maximum call stack size exceeded报错的原因及解决办法
806 0
|
8月前
|
存储 Cloud Native Linux
malloc、free 和 new、delete 的区别
malloc、free 和 new、delete 的区别
|
8天前
|
监控 安全 Go
视觉智能开放平台操作报错合集之出现 panic: runtime error: invalid memory address or nil pointer dereference,该如何处理
在使用视觉智能开放平台时,可能会遇到各种错误和问题。虽然具体的错误代码和消息会因平台而异,但以下是一些常见错误类型及其可能的原因和解决策略的概述,包括但不限于:1. 认证错误、2. 请求参数错误、3. 资源超限、4. 图像质量问题、5. 服务不可用、6. 模型不支持的场景、7. 网络连接问题,这有助于快速定位和解决问题。
视觉智能开放平台操作报错合集之出现 panic: runtime error: invalid memory address or nil pointer dereference,该如何处理
|
12月前
|
安全 C语言 C++
new delete和malloc free的区别
一个对象我们可以建立在栈上也可以建立在堆上,但是在C语言里与C++里他们的实现还不同,本文将详细介绍new delete和malloc free之间的区别。
|
2月前
|
编译器 C++
offsetof宏的使用、模拟实现及 (size_t)&(((struct_type*)0)->mem_name)的解释
offsetof宏的使用、模拟实现及 (size_t)&(((struct_type*)0)->mem_name)的解释
|
10月前
|
JavaScript 前端开发 开发工具
关于错误消息 RangeError - Maximum call stack size exceeded at XXX
关于错误消息 RangeError - Maximum call stack size exceeded at XXX
|
12月前
|
JSON Java 数据格式
JSONException: illegal identifier : \pos 1 异常报错问题
JSONException: illegal identifier : \pos 1 异常报错问题
518 0
|
SQL 并行计算 数据库连接
ArcSWAT报错:Error Number :-2147467259; 对 COM 组件的调用返回了错误 HRESULT E_FAIL
ArcSWAT报错:Error Number :-2147467259; 对 COM 组件的调用返回了错误 HRESULT E_FAIL
|
数据库连接 Go
[Golang] runtime error: invalid memory address or nil pointer dereferenc报错
[Golang] runtime error: invalid memory address or nil pointer dereferenc报错

热门文章

最新文章