realloc invalid pointer错误解析

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;

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IMWeb前端团队

使用JSON Schema来验证接口数据

最近在做一些关于JSON Schema的基建,JSON Schema可以描述一个JSON结构,那么反过来他也可以来验证一个JSON是否符合期望的格式,于是我想到...

30160
来自专栏扎心了老铁

python使用上下文管理器实现sqlite3事务机制

如题,本文记录如何使用python上下文管理器的方式管理sqlite3的句柄创建和释放以及事务机制。 1、python上下文管理(with) python上下文...

501120
来自专栏小怪聊职场

爬虫课堂(十五)|Request和Response(请求和响应)

59760
来自专栏xingoo, 一个梦想做发明家的程序员

Elasticsearch入门必备——ES中的字段类型以及常用属性

使用Elasticsearch时,了解字段的概念,是必不可少的。毕竟无论是es还是传统的数据库,都无法弱化字段的类型。 背景知识 在Es中,字段的类型很关...

48380
来自专栏ImportSource

并发编程-用锁来保护状态

由于锁机制可以让他保护起来的代码片段始终被串行访问。也就是一个访问完了,再由下一个来访问。我们可以利用锁的这种特点,来约定一些协议,来对共享的状态进行独占访问。...

34550
来自专栏北京马哥教育

Python如何防止sql注入

豌豆贴心提醒,本文阅读时间10分钟 前言 web漏洞之首莫过于sql了,不管使用哪种语言进行web后端开发,只要使用了关系型数据库,可能都会遇到sql注入攻...

57560
来自专栏用户2442861的专栏

linux select函数详解

http://blog.csdn.net/lingfengtengfei/article/details/12392449

13020
来自专栏Python攻城狮

MySQL与Python的交互1.交互类型2.增删改查(CRUD)3.封装

37020
来自专栏余林丰

虚拟机类加载机制(2)——类加载器

《深入理解Java虚拟机》一书中将类的加载过程放到了类加载器前面一节,但在这里我想先讲“类加载器”。在上一篇类加载时机中我们用大量篇幅来讲解了类加载过程中的5个...

22260
来自专栏破晓之歌

ip地址相关基础 原

IP 32位的地址通常表示为四个10进制的数,每个证书对应一个字节,成为点分十进制法(Dotted decimal notation)

8610

扫码关注云+社区

领取腾讯云代金券