Код: Выделить всё
#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)Пример в архитектуре, где int имеет размер 4 байта:
Код: Выделить всё
#include
#include
struct foo {
int a;
int *ptr;
};
int main() {
printf("Offset of ptr: %zu\n", offsetof(struct foo, ptr));
return 0;
}
Изменить: я сделал неверное предположение, и упомянутая ссылка недействительна. Как было объяснено, проблема заключалась в заполнении структуры
Подробнее здесь: https://stackoverflow.com/questions/784 ... ter-member
Мобильная версия