Игнорирование проблем заполнения/выравнивания и задание следующей структуры, лучший способ получить и установить значение member_b без использования имени участника.
struct mystruct {
int member_a;
int member_b;
}
struct mystruct *s = malloc(sizeof(struct mystruct));
Поставьте другой путь; Как бы вы выразили следующее в терминах указателей/смещений:
s->member_b = 3;
printf("%i",s->member_b);
Я предполагаю, что
- вычислить смещение, найдя sizeof member_a (
int) - отбрасывает структуру в один тип указателя слова (
char?) - создать указатель
intи установить адрес (на*charpointer + offset?) - используйте указатель
intдля установки содержимого памяти
но я немного запутался в том, что вы выбрали тип char, или если что-то вроде memset более подходящее, или, вообще говоря, я прихожу к этому совершенно неправильно.
Приветствия за любую помощь