в лоб
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено ы 14 февраля 2005 г. 19:43
В ответ на: Как в С красивее записать? Знаю адрес члена структуры, нужно получить указатель на саму структуру отправлено Сергей Борщ 14 февраля 2005 г. 19:34


struct TStruct {
int a;
int b;
char c;
}TStruct *tmp = new TStruct;

TStruct *orig = new TStruct;

u8_t to_c_adr_disp;
char * PChar = &tmp->c;


to_c_adr_disp = (u8_t)&orig->c - (u8_t)orig;


адрес структруры равен = (TStruct *) ((u32_t)PChar - to_c_adr_disp);

а еще можно вычислить ее 1 раз и смещение задефайнить константой.
а вообще лучше продумать алгорит)


Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru