Получить смещение поля внутри структуры
#include <stddef.h>#define offsetof( composite, name ) ...
Структура
или объединение
.libc
Макрос offsetof() возвращает смещение поля с именем name внутри структуры
или объединения
composite.
Использование макроса обеспечивает переносимый метод определения смещения поля внутри структуры
или объединения
.
Смещение поля name внутри composite.
#include <stdio.h>#include <stdlib.h>#include <stddef.h>struct new_def{char *first;char second[10];int third;};int main( void ){printf( "first:%d second:%d third:%d\n",offsetof( struct new_def, first ),offsetof( struct new_def, second ),offsetof( struct new_def, third ) );return (EXIT_SUCCESS);}
ANSI, POSIX 1003.1
offsetof() является макросом.
Предыдущий раздел: Описание API системной библиотеки