leetcode调试代码遇到上述问题,在vs编译器中不出错。内存是正常申请的,不应该overflow才对。经过逐行注释,发现问题出在array=parray赋值的地方。尝试,1.把parraymalloc申请内存注释掉,问题消失。 2. 把parray赋值给array后,赋值为NUL,问题消失。
推测:函数内的野指针会被检测到。
char* convert(char* s, int numRows)
{
char* parray = NULL;
char *array = NULL;
parray = (char*)malloc(sizeof(char) * size*numRows);
count = (int*)malloc(sizeof(int)*numRows);
// 问题定位
array = parray;
return parray;
}
parray = NULL;