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;

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

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

转载于:https://www.cnblogs.com/heyonggang/archive/2012/12/21/2827824.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/422029.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux的使用和认识实验,通过一个小实验认识Linux vDSO

这里不再解释vDSO的概念,而直接谈其意义:vDSO类似一个信息公告板,用户可以直取所需,而无需为此办理任何手续。vDSO相当于内核直接暴露出来的一个C库,作为GLIBC的补充。…类似gettimeofday之类的调用,每次都…

linux 漏洞数量,Debian Linux被列为过去20年漏洞数量最多的操作系统

1999 至 2019 年间,研究人员共发现了 Debian Linux 中的 3067 个安全漏洞。至于 Windows 平台,Server 2008 以 1421 个安全漏洞位列第一。Android 和 Linux 内核分别以 2563 和 2357 个漏洞排名第二和第三,macOS 以 2212 个漏洞排名第四。然而…

请问这博客能有几种方便写法?

好像这博客园不如网易写博客方便! 网易博客支持一键写博客,这点能方便我收集网络资源,以便后续查阅和梳理。 网易支持word写博客,图文并茂。 支持邮件写博客等等,都相当方便!! 转载于:https://w…

监测ASP.NET MVC 网站

使用MiniProfiler调试ASP.NET MVC网站性能,MiniProfiler可以很好的处理网站后端每个处理时间的事件,但是MiniProfiler是无法远程做监测的动作,MiniProfiler只能够监测本地端的动作,所以MiniProfier比较适合开发期间使用。 在开发A…

Win10 安装 MongoDB 3.6.5 失败的问题及解决方法

MongoDB 3.6.5 2008R2Plus SSL (64 bit) Setup Wizard ended prematurely 在安装 MongoDB 的时候,出现了MongoDB 3.6.5 2008R2Plus SSL (64 bit) Setup Wizard ended prematurely的错误,原因不明,但有解决办法: 解决办法 在安装…

c语言判断字符配对,【C语言】判断花括号{}是否匹配

标签:c#define _CRT_SECURE_NO_WARNINGS#include#includeint main(){int i 0, a 0;int j 0, b 0;int count 0;char arr1[50];char arr2[20];printf("请输入源代码:\n");scanf("%s", arr1);for (i 0; i {if (arr1[i] ‘{‘ || arr1[i] ‘…

字符串格式化

string的ljust()、rjust()、center()用来对齐 >>> for x in range(1, 11): ... print(repr(x).rjust(2), repr(x*x).rjust(3), end ) ... # Note use of end on previous line ... print(repr(x*x*x).rjust(4)) ...1 1 12 4 83 9 274 16 …

Closure

又叫static scope,或直观点叫bag。一个袋子,里面的环境等等都在这个袋子里。(define bank-account (let ((balance 10)) (lambda (n) (set! balance ( balance n)) balance)))(bank-account 20) ; donating 20 dollars ;Value: 30(ban…

c语言如何开发应用程序,怎样用c语言编写软件?如许多小的程序。

面向过程编程的一般思路:分析问题->设计流程和模块->编码和测试->改进并总结做算法问题的一般思路:先用数学方法计算分析,充分理解问题。在思考程序哪些地方应该用循环、指针或数组等细节问题之前,先要确定程序的大体框架…

halcon学习笔记——(4)HDevelop language(结构语句)

1) if ... endif / if ... else ... endif / if ... elseif ... else ... endif 2) for ... endfor 3) while ... endwhile 4) repeat ... until(循环体至少被执行一次,直到满足条件时退出。等同于C语言的do...while语句) 此外,也…

c语言 字符串分隔,c语言字符串分割–strtok | 逗号分隔-huangea的博客

c语言字符串分割–strtok | 逗号分隔 代码,原理是使用字符串分隔函数Strtok()函数详解:该函数包含在”string.h”头文件中函数原型:char* strtok (char* str,constchar* delimiters );函数功能:切割字符串,将str切分成…

Qt+ArcGIS Engine 10.1 开发(一)

Qt作为一个跨平台C图形用户界面应用程序开发框架,相当于微软的MFC(只能运行在Windows平台上),Qt命运多舛,几经易主,现在属于芬兰IT服务公司Digia。 Qt环境安装 Qt的最新版本是Qt5.0,该版本是在12月中旬发布的,在这里我…

c语言 返回函数是结构体指针变量,一个函数返回值为指向结构体的指针的问题...

一个函数返回值为指向结构体的指针的问题#include #include struct student{int num;char name[10];struct student *next;}struct student *creat(int x) //这里不知道为什么错??{struct student *head,*p,*q;int i;for(i0;i{p(struct student*)malloc(…

分享30个新鲜PSD网站模板免费下载

Web 设计始终是设计师充满挑战性的工作。他们需要的专业技能和与的伟大想法,来完成一个设计良好的网站。某个时候设计师需要帮助几个免费的资源,以使工作更轻松。这篇文章是一个完美的解决方案,为网站设计的资源。在这里我们目前 30 新鲜 PSD…