C - 将字符串转换为变量名称

use*_*788 2 c string variables

如何将字符串转换为变量名?我有一个字符串列表:

     "str1", "str2", "str3", etc.
Run Code Online (Sandbox Code Playgroud)

和一个结构:

struct my_struct {  
       int str1;  
       int str2;  
       int str3;  
} m = {5, 10, 15, ... etc};  
Run Code Online (Sandbox Code Playgroud)

给定一个字符串"str2",我想打印与该名称相关的变量m.str2.C有什么办法吗?

谢谢!

Sha*_*ack 8

这在C中根本不可能.
查看此问题以获取更多详细信息. 如何返回变量名并分配c中返回的变量的值

引用Wichert的话,"我建议你重新考虑你想要解决的问题,并检查是否有更好的方法来解决它.也许使用数组,映射或哈希表可能是一种适合您的替代方法.


acc*_*tur 6

在 C 中,您不能动态创建变量或符号名称