gpt4 book ai didi

c - 如何返回一个变量名并为c中返回的变量赋值

转载 作者:太空宇宙 更新时间:2023-11-04 00:40:06 25 4
gpt4 key购买 nike

我想使用一个动态变量,其值会在运行时发生变化。

例如

char * aVar = "ABC";
char * bVar = "DEF";
char * cVar = "XYZ";

char *dVar = NULL;

dVar = foo1();

print dVar;

foo1 内部调用 foo2,它应该返回变量名(如 "aVar""bVar"“cVar”)。 foo1 应该返回根据 foo2 的返回值命名的所述变量的值。

要获取我们可以使用(非标准)宏的变量名:

##define GET_VAR(varname) #varname; 

...但是我怎样才能获得命名变量的值呢?

最佳答案

这里的简单答案是这在 C 中是不可能的。

更长的答案是,这需要语言中的内省(introspection)和动态特性,而这通常只在脚本语言(如 Python)中才能看到。即使在那里做这样的事情也不被鼓励。

我建议您重新考虑要解决的问题,并检查是否有更好的方法来解决它。也许使用数组、映射或哈希表可能是适合您的替代方法。

关于c - 如何返回一个变量名并为c中返回的变量赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12435560/

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