我想在C语言中在给定地址动态分配内存。我使用指向指针的指针创建了一个二维数组。我的代码如下:
int **a;
a = (int**)malloc(sizeof(int*)*r);
for(int i = 0;i < r;i++)
{
if(i < r - 1 && i != 1)
{
a[i] = (int*)realloc(a[i],sizeof(int)*c);
a[i + 1] = &a[i][c - 1] + 1;
}
}
我知道要分配内存的地址,但我不能使用malloc(),因为它会在其他地址分配内存。我尝试使用realloc(),但它显示运行时错误:无效指针。应该使用什么?
realloc
时a[i]
未初始化。 - Support Ukrainemalloc
来分配一个二维数组。你可以在SO上找到几个示例来完成这个操作。 - Support Ukraine