博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
realloc invalid pointer错误解析
阅读量:6938 次
发布时间:2019-06-27

本文共 665 字,大约阅读时间需要 2 分钟。

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原创,转载请注明出处

你可能感兴趣的文章
Tengine新增健康检查模块
查看>>
使用JS对form的内容验证失败后阻止提交 &&js校验表单后提交表单的三种方法总结...
查看>>
Mysql学习记录点
查看>>
charles代理以及关于其抓取https信息的操作
查看>>
MySQL修改root密码的多种方法
查看>>
Docker的单主机容器网络
查看>>
Introducing Holographic Emulation
查看>>
025正则表达式可视化工具
查看>>
增量式编码器专题
查看>>
可重入锁 公平锁 读写锁、CLH队列、CLH队列锁、自旋锁、排队自旋锁、MCS锁、CLH锁...
查看>>
动态源代码生成和编译
查看>>
Linux ALSA声卡驱动之五:移动设备中的ALSA(ASoC)
查看>>
聊聊单元测试(三)——Spring Test+JUnit完美组合
查看>>
Docker学习笔记 - Docker数据卷的备份和还原
查看>>
[android] post请求接口demo测试代码
查看>>
如何用cmd命令递归文件夹中的所有特定文件,拷贝到另一个文件夹中
查看>>
JS调试必备的5个debug技巧
查看>>
[Linux] PHP程序员玩转Linux系列-搭建代码开发环境
查看>>
windows server 2008 不能执行bat
查看>>
getOutputStream() has already been called for this response解释以及解决方法
查看>>