变量,带有char 名称

如何在C表中使用char表中指定的名称创建变量?

就像是:

char name[]; gets(name[]); int name[] = 0; 

我希望你知道我的意思。

C,与脚本语言不同,Python或您可能习惯使用的Ruby,不会被解释。 在运行时,C没有像上述脚本语言那样的变量名查找表,这些信息在编译时被丢弃,因此,在运行时计算的任何名称都不能转换为地址。

最终,正如您所描述的那样,在编译语言中这是不可能的。 但是,我们确实有一个替代方法,可以在集合中找到,例如vector和HashMaps,它们在运行时存储命名信息,允许我们访问它。 不幸的是,C没有这些的任何原生实现,但有一些围绕。

你不能。 至少没有vanilla C语言function。 但请记住,C有指针 ,有时可以做类似的事情。

如果指针不是您需要的,则必须实现哈希映射 。 更高级的编程语言有内置,但C没有。

你可以找到一个图书馆,但如果你这样做是为了学习,我会建议你自己恭维。

这可能就是你想要的。 C确实有一个预处理器表格forms的查找表,您可以在其中定义关键字以及与它们一起使用的文本,这些文本在编译时添加。 因此,您可以在编译期间将名称或任何您想要的arg作为arg传递给程序,如果您正确编码,它将在编译阶段的预处理器部分将该名称附加到您的变量。 预处理器阶段是在顶部查看#include的内容,以及诸如#ifndef …#def,#if …#endif等内容, C预处理器示例