ฉันกำลังพยายามจัดสรรหน่วยความจำสำหรับอาร์เรย์ของพอยน์เตอร์ให้กับวัตถุ ObjectP เป็นตัวชี้ไปยังโครงสร้างที่ชื่อวัตถุ ก่อนฟังก์ชันนั้น ฉันจะประกาศในอาร์เรย์เป็น: ObjectP* array ดังนั้นอาร์เรย์จึงเป็นตัวชี้ไปยังอาร์เรย์ของตัวชี้ไปยังวัตถุ จากนั้นฉันก็ส่ง &array เพื่อที่ฉันจะได้มีตัวชี้ไป สมมติว่า table_size ของฉันคือ 2 ฉันได้รับข้อผิดพลาดในการแบ่งส่วนเมื่อฉันพยายามป้อน *array[1]=NULL อะไรคือปัญหา?
นี่คือรหัสของฉัน:
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;
- person Kerrek SB   schedule 23.08.2011