return the offset of an element in a structure
#include <stddef.h> size_t offsetof( composite, name );
The offsetof() macro returns the offset of the element name within the struct or union composite. This provides a portable method to determine the offset.
the offset of name
#include <stdio.h>
#include <stddef.h>
struct new_def
{ char *first;
char second[10];
int third;
};
void main()
{
printf( "first:%d second:%d third:%d\n",
offsetof( struct new_def, first ),
offsetof( struct new_def, second ),
offsetof( struct new_def, third ) );
}
In a small data model, the following would result:
first:0 second:2 third:12
In a large data model, the following would result:
first:0 second:4 third:14
ANSI
MACRO