Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language:
Expertise: Intermediate
Sep 23, 1999

The offsetof Macro

The macro offsetof (defined in <cstdlib> or <stdlib.h> in C) calculates the offset in bytes of a struct's data member. The following example uses this macro to calculate the offset of two data members in a struct named S:
 
#include <stdlib.h>
struct S
{
  int a;
  int b;
  void * p;
};

int main()
{
  int n = offsetof(S, a);  // 0
  n = offsetof(S, p);  //8
}
Note that offsetof works with POD (Plain Old Data) structs and POD unions. The result of applying the offsetof macro to a field that is a static data member or a function member is undefined.
Danny Kalev
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date