【发布时间】:2011-08-23 15:03:29
【问题描述】:
我正在尝试为指向对象的指针数组分配内存。 ObjectP 是一个指向名为 Object 的结构的指针。 在该函数之前,我在数组上声明为:ObjectP* 数组。所以数组是指向对象指针数组的指针。 然后我发送 &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;。
标签: malloc