动态分配2D数组

时间:2013-10-25 09:53:56

标签: c arrays dynamic

我需要通过动态行长度数组实现10个cols,它可以保存一个字符串。到目前为止,为了简单起见,我试图使用intiger而不是srings进行实验。

到目前为止,这是我的代码:

int** pArray = (int**)malloc(10*sizeof(int*));
for (i = 0; i < 10; i++ ) 
{
    pArray[i] = (int*)malloc(sizeof(int));
}

所以现在我知道我创建了一个10x1阵列。现在我需要根据出现的需要动态地调整每一行..

此时我被困住了。任何援助都会受到很大的帮助

2 个答案:

答案 0 :(得分:1)

比重新分配更好的方法是在知道需要多少内存后分配行。

char ** pArray = (char **)malloc(10*sizeof(char*));
for(i=0;i<10;i++)
{
  pArray[i] = NULL;
}

当您需要分配大小为'n'的行'i'时,请执行

pArray[i] = (char*)malloc(n*sizeof(char));

答案 1 :(得分:0)

我想你想要realloc function