我认为我正在寻找的东西在 C 中实际上是不可能的,但也许有些人知道如何解决它:
我需要处理一些输入数据。该数据以 int 形式给出,其中给出了数据的数量和保存实际数据的字符串(即 char *)的数量。这些字符串被命名为 data_0 ... data_n:
int n = 42; // the number of strings
char *data_0 = "some input1";
char *data_1 = "some input2";
....
char *data_41 = "the last input data";
所以这就是我获取数据的方式。现在的问题是:我该如何处理它?我的目标是将它们存储在一个大数组中。初始化这个数组当然很简单,我只需要一个由 malloc 获得的 n char-Pointer 数组。但后来我想将这些字符串分配到数组中。这就是我卡住的地方。我需要动态分配它们,因为我以前不知道大小。就像是:
for(i = 0; i < n; i++)
datastorage[i] = data_i;
所以我的意思是动态访问变量名。我希望你明白我的意思:) 谢谢。