结构体位域一题

判断以下题目是否正确,不正确指出错误并改正。

#include <iostream>
using namespace std;

struct a {
    int x:1;
    int y:2;
    int z:33;
};

int main()
{
    a d;
    
    cout << &d << endl;
    d.x = 1;
    d.y = 3;
    d.z = d.x + d.y;
    cout << d.x << " " << d.y << " " << d.z << " " << sizeof(d) << endl;
    
    return 0;
}

 

析:

Z分配了33位,超出了4字节,发生越界错误。

posted @ 2015-01-13 13:30  阿青1987  阅读(98)  评论(0编辑  收藏  举报