问一下怎么通过变量动态获取结构体中的字段内容

问一下如何通过变量动态获取结构体中的字段内容
有一个结构体
typedef struct {
  char field1[256];
  int field2;
} Prod_t;

Prod_t *p = (Prod_t*)malloc(sizeof(Prod_t));

有一个字符串为 char f[] = "field1";

请教一下,如果根据char f[]里的内容field1获得p->field1的内容呢?谢谢。

最终目的是让结构体的字段与逻辑操作分离,通过后期定义结构体里的字段类型,每个字段要做的操作类型,复用之前已经写好的逻辑代码。

还请大家帮帮忙,非常感谢。


------解决方案--------------------
哦,转学lua,把lua嵌入C/C++就可以了。
------解决方案--------------------
没有这种东西,这个要动态语言里才有。