7,540
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
#include <iomanip>
struct A
{
char ch;
int nCount;
double dWidth;
};
struct A1
{
char ch;
double dWidth;
int nCount;
};
union B
{
char ch;
double dWidth;
int nCount;
};
int main()
{
using std::cout;
using std::endl;
A1 a1;
a1.ch = 'B';
a1.dWidth = 1.0;
a1.nCount = 2;
cout<<"sizeof(A1) is : "<<sizeof(a1)<<endl;
cout<<"&a1.ch is : "
<<std::hex<<std::setfill('0')<<std::setw(8)<<std::setiosflags(std::ios::uppercase)
<<(int)&a1.ch<<endl
<<"&a1.dWidth is : "<<&a1.dWidth<<endl
<<"&a1.nCount is : "<<&a1.nCount<<endl
<<sizeof(&a1.nCount)
<<endl;
A1 a2;
a2.ch = 'B';
a2.dWidth = 1.0;
a2.nCount = 2;
cout<<"sizeof(A1) is : "<<sizeof(a2)<<endl;
cout<<"&a2.ch is : "
<<std::hex<<std::setfill('0')<<std::setw(8)<<std::setiosflags(std::ios::uppercase)
<<(int)&a2.ch<<endl
<<"&a2.dWidth is : "<<&a2.dWidth<<endl
<<"&a2.nCount is : "<<&a2.nCount<<endl
<<sizeof(&a2.nCount)
<<endl;
cout<<"sizeof(B) is : "<<sizeof(B)<<endl<<endl;
A a;
a.ch = 'A';
a.nCount = 1;
a.dWidth = 2;
cout<<"sizeof(A) is : "<<sizeof(A)<<endl;
cout<<"&a.ch is : "
<<std::hex<<std::setfill('0')<<std::setw(8)<<std::setiosflags(std::ios::uppercase)
<<(int)&a.ch<<endl
<<"&a.nCount is : "<<&a.nCount<<endl
<<"&a.dWidth is : "<<&a.dWidth<<endl
<<endl;
return 0;
}