我想分配內存指向對象的指針數組。 ObjectP是一個指向結構名爲Object的指針。 在函數之前,我在數組上聲明:ObjectP *數組。所以數組是指向對象指針數組的指針。 然後我發送&數組,所以我會有一個指向它的指針。 說我的table_size是2.我嘗試輸入* array [1] = NULL時出現分段錯誤。 問題是什麼?Segmantation故障 - C使用malloc
這是我的代碼:
void allocateArrayMemory(ObjectP** array,size_t table_size)
{
*array=(ObjectP*)malloc(table_size*sizeof(ObjectP));
int i=0;
for (i = 0; i < (int)table_size; ++i)
{
*array[i]=NULL;
printf("%d\n",i);
}
printf("finished allocating\n");
if(*array==NULL)
{
printf("null\n");
}
}
請編輯您的問題,並調整格式。 –
嘗試'(* array)[i] = NULL;'。 –