已知一个无符号的整数占用了4个字节的内存空间,现欲从低位存储地址开始,将其每个字节作为独立的一个ASCII码字符输出,试用共用体实现。例如:十六进制数0x44434241,则输出:ABCD

已知一个无符号的整数占用了4个字节的内存空间,现欲从低位存储地址开始,将其每个字节作为独立的一个ASCII码字符输出,试用共用体实现。例如:十六进制数0x44434241,则输出:ABCD

img


#include <iostream>
using namespace std;

union MyUnion
{
    unsigned int num;
    char chr[4];
};

int main()
{
    MyUnion myUnion;
    myUnion.num = 0x44434241;

    for (int i = 0; i < 4; i++)
    {
        cout << myUnion.chr[i];
    }
    cout << endl;

    return 0;
}