Я думаю, что это невозможно в C, но попросите проверить это. Можно ли сделать арифметику между членами структуры без реальной переменной этого типа? Например:
typedef struct _s1
{
int a;
int b;
int c;
} T1;
Я хочу видеть смещение члена "c" по сравнению с началом структуры. Это легко, если у меня есть переменная:
T1 str;
int dist = (int)&str.c - (int)&str;
Но моя структура слишком велика и у нее нет члена в ОЗУ (только в EEPROM). И я хочу сделать некоторые вычисления адресов, но не определять член RAM. Я могу выполнить работу со указателем структуры вместо переменной структуры (она будет стоить всего 4 байта), но случай интересен для меня.