【发布时间】:2014-06-03 20:58:28
【问题描述】:
我必须在一个数组中存储一些字符数组。但我不知道我将要存储多少。
什么是最好的:用小尺寸(如 1)初始化我的数组,然后重新分配所有内容?我应该如何使用 realloc 或 malloc?
不幸的是,我不能使用向量、stl 容器或字符串。增加向量的大小非常容易,我试图理解 malloc 和 realloc 但我不...
char ** array=(char**)malloc(10*sizeof(char*));
for (int i=0;i<10;i++)
array[i]="10";
array=(char **)realloc(array,(sizeof(array)+1)*sizeof(char*));
array[10]="12";
我明白基本原理是的。 是这样的吗?
【问题讨论】:
-
你知道你需要的最大元素数量吗?另外,为什么不能使用 STL 容器?
-
了解动态数组并在特定情况下使用它们是一个练习。需要的元素数量可以改变:可以是 0,1....1000...所以不知道。
-
自己尝试一下,然后发布您的尝试...
-
@MatsPetersson,我编辑了我的帖子。是这样吗?好像可以。非常感谢。
-
这不是一个非常 C++ 风格的解决方案...