我需要通过动态行长度数组实现10个cols,它可以保存一个字符串。到目前为止,为了简单起见,我试图使用intiger而不是srings进行实验。
到目前为止,这是我的代码:
int** pArray = (int**)malloc(10*sizeof(int*));
for (i = 0; i < 10; i++ )
{
pArray[i] = (int*)malloc(sizeof(int));
}
所以现在我知道我创建了一个10x1阵列。现在我需要根据出现的需要动态地调整每一行..
此时我被困住了。任何援助都会受到很大的帮助
答案 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。