程序員面試題精選100題(53)-C++/C#面試題(2)

時間:2019-09-22 編輯:范文亭

題目(六):運行下列C++代碼,輸出什么?

struct Point3D

{

        int x;

        int y;

        int z;

};

 

int _tmain(int argc, _TCHAR* argv[])

{

        Point3D* pPoint = NULL;

        int offset = (int)(&(pPoint)->z);

 

        printf("%d", offset);

        return 0;

}

答案:輸出8。由于在pPoint->z的前面加上了取地址符號,運行到此時的時候,會在pPoint的指針地址上加z在類型Point3D中的偏移量8。由于pPoint的地址是0,因此最終offset的值是8

&(pPoint->z)的語意是求pPoint中變量

本文已影響
相關文章
大亨pk10计划苹果版