имеется структура
struct A {
char * text;
int width;
int hight;
...
и т.д
}
требуется присвоить значение определённому полю структуры в зависимости от значения переменной(для примера val). Например, если val == «text» , то значение записываем в поле text структуры, если val == «width» то значение заносится в поле width. Это можно сделать примерно следующим образом:
if(strcmp(val , "text") == 0)
A->text = "some text";
else
if(strcmp(val , "width") == 0)
A->width = 300;
else
if(strcmp(val , "hight") == 0)
A->width = 100;
#define SET_ATTR_VALUE(stuct, attr, value) (struct->##attr = value;)