realloc invalid pointer错误

代码运行出现该错误一般是函数传入的指针是malloc的内存指针,函数出参仍为该指针,函数内部对该指针进行操作,入参没有取该指针的指针,导致指针非法使用。

如:

函数定义

U32 realloc_error(char *a)

{

memcpy(a+1, "hello world", strlen("hello world"));

}


char * a = malloc(255);

realloc_error(a);

,,,,

other_fun(a);  //下面函数继续访问a指针,出现realloc invalid pointer错误

修改为realloc_error(char **a),采用指针的指针解决问题

猜你喜欢

转载自blog.csdn.net/wkq0825/article/details/78813398