如何使用char表中指定的名称在C中创建变量?
类似于:
char name[];
gets(name[]);
int name[] = 0;我希望你明白我的意思。
发布于 2014-01-21 00:38:14
与脚本语言ala或Ruby不同的是,C是编译的,而不是解释的。在运行时,C没有像前面提到的脚本语言那样的变量名称的查找表,这些信息在编译时被丢弃,因此在运行时计算的任何名称都不能转换为一个地址。
最终,正如您所描述的那样,这在编译语言中是不可能的。然而,我们确实有另一种选择,可以在集合中找到,比如向量和HashMaps,它们在运行时存储命名信息,允许我们访问它。同样不幸的是,C没有任何本机实现,但也有一些。
发布于 2014-01-21 00:31:01
发布于 2014-01-21 00:45:34
这可能是你想要的。C确实有一个预处理器表的形式的查找表,在该表中您定义了关键字和它们所附带的文本,这些关键字是在编译时添加的。因此,您可以在编译期间将一个名称或任何您想要的名称作为arg传递给程序,如果代码正确,它将在编译阶段的预处理器部分将该名称附加到您的变量中。前处理阶段是在顶部查看#include的内容,以及诸如#ifndef...#def、#if...#endif等事物,C预处理实例
https://stackoverflow.com/questions/21246890
复制相似问题