我正在尝试创建一个分配特定大小内存的函数。在主程序中,我创建指针,然后将指针和大小发送给函数以分配内存。由于某种原因,它会导致各种问题。如果我在 main 中使用 malloc,但不是通过函数,我的程序运行顺利。
int main(void){
int * pointer;
int array_size = SIZE;
...
allocate_memory(&pointer,array_size);
...
free(pointer);
}
allocate_memory(int *pointer,int size){
*pointer = (int *)malloc(size*sizeof(int));
if(!(*pointer)){
printf("Memory allocation fail!");
exit(0);
}
现在的问题是当我尝试释放内存时它给了我一个错误。如果解决方案附有简短的解释,我将不胜感激。我开始对这些指针和铸件的工作方式感到非常困惑。提前致谢!