I was asked this as interview question. Couldn't answer.
Write a C program to find size of structure without using the
sizeof
operator.
struct XYZ{
int x;
float y;
char z;
};
int main(){
struct XYZ arr[2];
int sz = (char*)&arr[1] - (char*)&arr[0];
printf("%d",sz);
return 0;
}
Here's another approach. It also isn't completely defined but will still work on most systems.
typedef struct{
// stuff
} mystruct;
int main(){
mystruct x;
mystruct *p = &x;
int size = (char*)(p + 1) - (char*)p;
printf("Size = %d\n",size);
return 0;
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With