sizeof指針和數組

    int a[10] = {0 , 1 , 2, 3 , 4 , 5, 6, 7 , 8 , 9};
    int *b    = a;
    int (*d)[10]= &a;
    int c;

    //sizeof(數組名):返回數組所有元素佔有的內存空間字節數。即計算整個數組的大小
    qDebug()<<"---------a="<<sizeof (a); //4 * 10 = 40
    //sizeof(*a)是計算其指向類型的大小
    qDebug()<<"--------*a="<<sizeof (*a);
    qDebug()<<"--------&a="<<sizeof (&a);
    // sizeof(指針)  :返回計算機系統的地址字節數,如果是32位系統,返回4,64位系統返回8。
    qDebug()<<"---------b="<<sizeof (b);
    qDebug()<<"--------*b="<<sizeof (*b);
    qDebug()<<"---------c="<<sizeof (c);

    qDebug()<<"---------d="<<sizeof (d);
    qDebug()<<"---------*d="<<sizeof (*d);
    qDebug()<<"---------&d="<<sizeof (&d);

輸出結果:

---------a= 40
--------*a= 4
--------&a= 8
---------b= 8
--------*b= 4
---------c= 4
---------d= 8
---------*d= 40
---------&d= 8

具體解釋如下圖:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章