Приветствую.
struct _MyStruct
{
int val1;
int val2;
int val3;
};
typedef struct _MyStruct MyStruct;
main()
{
MyStruct *mst;
int i;
mst=malloc(sizeof(MyStruct));
mst->val1=1;
mst->val2=2;
mst->val3=3;
i=mst->val3;
}
возможно ли к полю val3 обратиться не i=mst->val3, а как нибудь по положению
поля в структуре (что нибудь типа i=&(mst+8)), причем +8 тоже както нужно вычислить.
Попробую по другому обьяснить проблему:
Функция работает со значением в каком либо поле структуры, причем поля могут быть различные
(либо val1, либо val2, либо val3, ...) возможно ли указать этой функции с каким полем работать
но не так:
if(name_field==1)i=mst->val1;
else if(name_field==2)i=mst->val2;
else i=mst->val3;
т.к. полей в структуре очень много и они имеют различные типы.