gpt4 book ai didi

c - "Variable"C 中的变量名

转载 作者:行者123 更新时间:2023-12-02 03:45:44 26 4
gpt4 key购买 nike

我认为我正在寻找的东西实际上在 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;

所以我的意思是动态访问变量名。我希望你明白我的意思:) 谢谢。

最佳答案

首先将其设为数组!如果您必须将它们作为数组进行访问,那么拥有 42 个单独的变量绝对没有意义!顺便说一句,在 C 中,变量名称在运行时不可用,它们在编译后就会丢失,因此忘记通过名称动态访问变量。

int n = 42; // the number of strings
char *data[42];
data[0] = "some input1";
data[1] = "some input2";
....
data[41] = "the last input data";

for(i = 0; i < n; i++)
datastorage[i] = data[i];

关于c - "Variable"C 中的变量名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5430280/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com