#include"iostream.h"
class Myclass
{
double a;
int x,y;
char b;
};
void main()
{
cout<<sizeof(Myclass)<<endl;
}
我认为是8+4+4+1+3=20;但结果却是24,请帮忙!!
class Myclass
{
double a;
int x,y;
char b;
};
void main()
{
cout<<sizeof(Myclass)<<endl;
}
我认为是8+4+4+1+3=20;但结果却是24,请帮忙!!
解决方案 »
- unsigned int private: 1;为什么在C语言里可以,但是在c++里不行,请进来看一下,谢谢
- 怎么把一个编辑框里的字符串中的几个字符转为数字的形式
- 请各位大侠指教,谢谢.(读取.bak;.txt文件里的内容)
- 如何修改按钮的颜色及按钮上文字的颜色(急!!)
- 问:在对话框里显示时间并随时更改(随系统该而该),如何编码?
- 请问,怎么在窗口中间显示按钮
- 怎样查找文件路径,谢谢各位的帮忙
- CSock的问题?帮帮我!
- 用VC怎么实现k-means算法?针对一个数据对象有n个属性的情况
- 我对Presubclasswindow()的用途还很模糊,请高人指点迷津
- 请问各位高手,网吧如何控制用户上网?
- VC的入门问题:如何让已被关掉的Controls对话框重新显示出来?在线等待!
#include "stdafx.h"
#include"iostream.h"
#include "stdio.h"
class Myclass
{
double a;
int x,y;
// char b;
};
void main()
{
cout<<sizeof(double)<<endl;
cout<<2*sizeof(int)<<endl;
cout<<sizeof(char)<<endl;
cout<<"Total size:"<<sizeof(Myclass)<<endl;
getchar();
}
class Myclass
{
int a,b,c,d;
char k;
};
void main()
{
cout<<sizeof(Myclass)<<endl;
}
那为什么结果又是20?
sizeof(c1) = sizeof(c2) = sizeof(c3) = 8
class c1
{
int i;
char a;
};
class c2
{
int i;
char a;
char b;
};
class c3
{
int i;
char a;
char b;
char c;
};
你做的东西和这个有关系吗,如果没有赶快继续
以下是试验代码;
char a,b,c,d,f,g,h,j,k,l,p;
double e;
int x;
的到数值是32,现在教你怎么计算,因为这里有double类型的变量,所以以8为单位
char a,b,c,d,f,g,h,j,k,l,p;因为有11的变量,合起来超过8所以大小是16,e是8,x虽然是4但是以8为单位所以是8,
所以最终是32int a,b,c,d;
char k;因为有int所以以4为单位,所以k占个单位却安4计算所以是20
同理
int a,b,c,d;
char k,j,y;
他的结果也是20,kjy合起来是3没超过4,安4计算
int a,b,c,d;
char k,j,y,c,m;
这个计算出来就是24,尽管kiycm合起来是5但超过4所以安8计算
如只有char时
char a,b,c,d,f,g,h,j,k,l,p;
类长度就是11
因为这些cpu经过证明是没有bug的