如何将变量设置为结构的名称?

时间:2016-03-21 18:16:48

标签: c variables struct

所以现在我正在制作一个程序,涉及创建以机场目的地命名的众多结构,但我遇到了一个问题,我似乎找不到解决方案。如何使用变量而不是字符串本身来提供结构的名称?如:

struct airport {
    char name;
    int capacity;
}

int main(void)
{
    id = "dubai";
    struct airport id;
}

我想要创建结构:

struct airport dubai;

2 个答案:

答案 0 :(得分:0)

由于id是变量成员,因此您尝试将变量声明为变量。在任何编程语言中,您都不能两次声明相同的变量。
为什么要这样做,究竟需要什么?如果我们确定您在这里实施的逻辑,我们可以解决问题。

查看在编译时在内存中声明的变量,变量中的值来自运行时。如果你这样做,你不能,因为 duabi 将在运行时分配,而结构变量将在编译时声明。

答案 1 :(得分:0)

作为模块的一个例子:

int main(){
    struct airport *myAirport= newAirport("Dubai",1000);
}

现在您可以创建一个机场:

strcmp

然后通过数组使用{{1}}找到您的机场。