我想創建一個分配特定大小的內存的函數。在main中,我創建了指針,然後將指針和大小發送給要分配的內存的函數。由於某種原因它會導致各種問題。如果我在main中使用malloc,而不是通過函數,我的程序可以正常工作。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);
}
現在的問題是,當我嘗試釋放內存時,它給了我一個錯誤。 如果解決方案會附帶簡短說明,我將不勝感激。我開始對這些指針和鑄件的工作方式感到非常困惑。 在此先感謝!
拿起任何標準書籍。整個'pointer to pointer'和'pointer to variable'東西用圖形,圖形和基本代碼很好地解釋。 – 2013-04-27 08:41:22