May 14, 2005
I was recently asked this question, and I couldn't figure out howto do it.

basically given a struct, finding the byte offset for each member.

struct a
{
char c0;
char c1;
short h;
int i;
};

the byte offset could be found in 1 line of C, how would one do it?


May 15, 2005
James Gordon wrote:
> I was recently asked this question, and I couldn't figure out howto do it.
> 
> basically given a struct, finding the byte offset for each member.
> 
> struct a
> {
> char c0;
> char c1;
> short h;
> int i;
> };
> 
> the byte offset could be found in 1 line of C, how would one do it?

int main()
{
   struct a MyA;
   int Offset = (char *)&MyA.h - (char *)&MyA;
   printf("Offset: %d\n", Offset);
   return 0;
}