C语言malloc和指针数组的问题

img

img

img


请问这个代码哪里错了。make_array函数,我换成数组来赋值又可以正常运行


int* array,*p;
array =(int *)malloc(elem*sizeof(int));
p = array;
while()
{
//此处代码不变
}
return p; //这里返回p