可能重复:
如何在 C 中正确设置、访问和释放多维数组?
我正在尝试使用 calloc 为 2D 数组动态分配内存。列固定为 2,因此只有动态行。
这是我一直在尝试的:
unsigned int **pts, rows;
int main()
{
//some code
pts = (unsigned int **)calloc(2*rows, sizeof (unsigned int **));
}
//The code to access the array :
for(k=1;k<=i;k++)
{
printf("\nX%d=",k);
scanf("%d",&pts[k][0]);
printf("\nY%d=",k);
scanf("%d",&pts[k][1]);
}
但问题是,在访问数组时,程序崩溃了。我正在使用带有 MinGW GCC 的 Eclipse。
请让我知道是否需要在此处放置更多数据或告诉我如何处理此问题,因为这是我的第一篇文章。