I have taken code from https://www.geeksforgeeks.org/the-offsetof-macro/.
I ran the code in ide provided in gfg itself.
I have edited code a bit , sizeof(int) is showing 4 but it is shown to take 8 bytes in struct through offset
#include <stdio.h>
#define OFFSETOF(TYPE, ELEMENT) ((size_t)&(((TYPE *)0)->ELEMENT))
typedef struct PodTag
{
int i;
double d;
char c;
} PodType;
int main()
{
printf("%ld", OFFSETOF(PodType, d) );
getchar();
return 0;
}