将字符串转换为名称标识符

时间:2015-02-03 06:05:27

标签: c string stringify

C89中的“destringification”是否可以像stringification那样可能?

2 个答案:

答案 0 :(得分:2)

变量名称在编译时被转换为符号名称。这些符号不应该从程序内部访问,并且它们的名称经常被破坏,但无论如何,C不提供从内部访问自己的运行时的方法。编程语言中的这种特性被称为"反射",如果你依赖它的存在为你的项目,你应该查找一个特色的语言,或者,正如我所建议的,使用某种2D地图或字典,它们是数据结构,其中每个对象都与一个唯一的键相关联,通常是一个字符串,使您可以轻松地以您看起来需要的方式查找它。

答案 1 :(得分:0)

我认为你的意思是将一个宏DESTRINGIFY(“你好”)扩展为你好。在这种情况下,NO,在C89以及后来的标准中是不可能的。