0

我需要通过一个可以容纳一个字符串的动态行长度数组来实现 10 个列。到目前为止,为了简单起见,我正在尝试使用 intiger 而不是 srings 来进行实验。

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

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

所以现在我知道我创建了一个 10x1 数组。现在我需要根据出现的需要动态地重新分配每一行..

在这一点上,我被困住了。任何帮助将不胜感激

4

2 回答 2

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));
于 2013-10-25T10:07:36.830 回答
0

我想你想要realloc 函数

于 2013-10-25T09:59:31.217 回答