如何从C中的字符串变量赋予数组名称

时间:2014-07-07 20:19:09

标签: c arrays variables

我遇到了需要从字符串变量中提供数组名称的情况。

基本上我想在另一个字符串变量中创建一个与value同名的数组" name":

char *name="arr_name";

在我的情况下,变量名称保存的字符串可能会更改。因此建议正在积累。

谢谢!

1 个答案:

答案 0 :(得分:0)

我认为你正在寻找一些机制,类似于python(内省)或C#(反射)等高级语言中的机制。 C不能从运行时提供这种洞察力,甚至变量名都不存在于字节码中 - 所以基本上它是不可能的,并且在方式方面没有任何意义C如何运作。

我不知道这是否有帮助,但你可以做的一件事就是静态地(所以在编译时,不是在它运行的时候!)填充char *并创建具有相同名称的变量,假设字符串的值是变量(Naming convention for C/C++)的正确名称。你可以通过定义一个合适的宏(#define your_macro(...) code_to_populate_char_and_declare_variable)来实现这一点,但我不明白这样做。