[英]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.