C - Find the size of structure

后端 未结 7 998
再見小時候
再見小時候 2021-02-10 01:43

I was asked this as interview question. Couldn\'t answer.

Write a C program to find size of structure without using the sizeof operator.

7条回答
  •  北恋
    北恋 (楼主)
    2021-02-10 01:59

    Here is another approach.... no need to create any instance of structure.

    struct  XYZ{
        int x;
        float y;
        char z;
    };
    
    int main(){
        int sz = (int) (((struct XYZ *)0) + 1);
        printf("%d",sz);
        return 0;
    }
    

    How does it work?

    ((struct XYZ *)0) + 1 = zero + size of structure
                          = size of structure
    

提交回复
热议问题