首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有char[]名称的变量

问具有char[]名称的变量
EN

Stack Overflow用户
提问于 2014-01-21 00:26:37
回答 3查看 144关注 0票数 1

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

类似于:

代码语言:javascript
复制
char name[];
gets(name[]);
int name[] = 0;

我希望你明白我的意思。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-01-21 00:38:14

与脚本语言ala或Ruby不同的是,C是编译的,而不是解释的。在运行时,C没有像前面提到的脚本语言那样的变量名称的查找表,这些信息在编译时被丢弃,因此在运行时计算的任何名称都不能转换为一个地址。

最终,正如您所描述的那样,这在编译语言中是不可能的。然而,我们确实有另一种选择,可以在集合中找到,比如向量和HashMaps,它们在运行时存储命名信息,允许我们访问它。同样不幸的是,C没有任何本机实现,但也有一些。

票数 3
EN

Stack Overflow用户

发布于 2014-01-21 00:31:01

你不能。至少没有普通的C语言特性。但是请记住,C有指针,有时可以做类似的事情。

如果指针不是您所需要的,那么您必须实现一个散列映射。高级编程语言内置了它们,但C语言没有。

你可以找到一个图书馆,但如果你这样做是为了学习,我会引用它自己。

票数 2
EN

Stack Overflow用户

发布于 2014-01-21 00:45:34

这可能是你想要的。C确实有一个预处理器表的形式的查找表,在该表中您定义了关键字和它们所附带的文本,这些关键字是在编译时添加的。因此,您可以在编译期间将一个名称或任何您想要的名称作为arg传递给程序,如果代码正确,它将在编译阶段的预处理器部分将该名称附加到您的变量中。前处理阶段是在顶部查看#include的内容,以及诸如#ifndef...#def、#if...#endif等事物,C预处理实例

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21246890

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档