繁体   English   中英

如何在c编程中根据char变量命名结构

[英]How to name a struct based on a char variable in c programming

我正在寻求有关如何使用 char 变量命名结构的帮助。

#include <stdio.h>
#include <stdlib.h>

struct user {
char name[50];
int age;
char hobby[50];
};

int main()
{
    char nameVar[50];
    int ageVar;
    char hobbyVar[50];

    printf("What is your name?");
    scanf("%s", nameVar);
    return 0;
}

在这里,我想根据变量 nameVar 命名结构。 提前感谢您的任何帮助。

在 C 中没有办法做到这一点。这在许多解释性语言中都是可能的,但是对于编译语言 - 像 C - 很少见,如果它确实存在的话。

你可以做些什么来模仿这一点,那就是拥有某种字典。 当然,您必须为此找到一个库或编写自己的代码,但这样的事情是可能的:

void add_to_dict(const char *str);
struct user get_element_from_dict(const char *str);

int main()
{
    printf("What is your name?");
    scanf("%s", nameVar);
    add_to_dict(nameVar);
    struct user myUser = get_element_from_dict(nameVar);
    printf("Name, age and hobby: %s %d %s\n" myUser.name, myUser.age, myUser.hobby);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM