您的位置:首页 > 其它

一个奇怪的问题?!

2009-08-28 14:35 197 查看
#include <iostream>
#include <string>
using namespace std;

struct student
{
string Name;
int age;
bool isBoy;
};
int main()
{
student xiaoming;
xiaoming.Name = "小明";
xiaoming.isBoy = true;
xiaoming.age = 19;

student *pStu = 0;
pStu = &xiaoming;

int* pInt = 0;
pInt = &xiaoming.age;
bool *pBool = 0;

pBool = &xiaoming.isBoy;
string* pString = 0;
pString = &xiaoming.Name;

cout << pStu << endl;
cout << pInt << endl;
cout << pString << endl;

cout << sizeof(pStu) << endl;
cout << sizeof(pInt) << endl;
cout << sizeof(pString) << endl;

cout << sizeof(xiaoming) << endl;
cout << sizeof(xiaoming.age) << endl;
cout << sizeof(xiaoming.isBoy) << endl;
cout << sizeof(xiaoming.Name) << endl;

return 0;
}

执行结果为:(我的环境是XPSP3,VC++2008)

sizeof(xiaoming)=40;sizeof(xiaoming.age)=4;sizeof(xiaoming.isBoy)=1;sizeof(xiaoming.Name)=32

神奇了,如果按以前学过的知识sizeof(xiaoming)=12才对嘛?????????
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: