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

标签 c struct

我正在寻求帮助,了解如何使用 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);
}

关于c - 如何在 C 编程中根据 char 变量命名结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57355928/

相关文章:

c - 为什么建议在打印前将指针转换为通用指针?

c - 作业: C Programming - Structures and Arrays

c - 小于 0.(0 点)是什么意思?

c - 未格式化的 C 文件输入/输出

c - 在结构数组中查找值

C 程序生成/输出 3 个数字(1 - 20 的任意组合),当相加等于 20 时

c - 32位地址位置混淆...(C语言编程)

c# - 使用 ref 关键字传递给方法时结构是否被装箱?

c - 在 C 中初始化嵌套结构的正确方法

go - 默认结构值