社区
C++ 语言
帖子详情
为什么答案是8~
qazxsw1982103
2004-03-28 10:30:49
#include<iostream.h>
class test
{public:
int a;
char b;
};
void main()
{
test x;
cout<<sizeof(x)<<endl;
}
答案是8
为啥??不应该是5吗
...全文
28
11
打赏
收藏
为什么答案是8~
#include class test {public: int a; char b; }; void main() { test x; cout<<sizeof(x)<<endl; } 答案是8 为啥??不应该是5吗
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xiaoguoru
2004-03-30
打赏
举报
回复
学习!
pigja
2004-03-29
打赏
举报
回复
应该是填充成最长类型长度。
如
class test
{
public:
char a;
char b;
char c;
};
sizeof(test)为3。
而
class test
{
public:
char a;
double b;
char c;
};
sizeof(test)为24。
wangnewton
2004-03-29
打赏
举报
回复
呵呵
楼上的说得极是
建议楼主看一看《c++深度探索》
Wolf0403
2004-03-29
打赏
举报
回复
struct A1
{
char a;
int b;
char c;
};
struct A2
{
char a, b;
int c;
}
两个大小相差 4。^_^
bm1408
2004-03-28
打赏
举报
回复
内存字段对齐
古布
2004-03-28
打赏
举报
回复
内存字段对齐是分配的内存边界是以该类型为基本单位的整数倍,不足的补齐
tulading
2004-03-28
打赏
举报
回复
具体机器定,尤其是cpu结构
danielpan
2004-03-28
打赏
举报
回复
分配的内存边界是以4为基本单位的(32位),不足4的补足.
qazxsw1982103
2004-03-28
打赏
举报
回复
我用的VC6.0
“内存字段对齐”,指的是什么啊?
dsangvei
2004-03-28
打赏
举报
回复
内存字段对齐。跟编译器有关。
VC中为,BC3.1 为3。
你用的是?
Aofa_lee
2004-03-28
打赏
举报
回复
这是看具体的机器而定的!不同的机器会有不同的值~~
Redis极简入门:纯小白成长为大白,只需4个半小时~
一套非常简洁的入门Redis视频,前后共有4个半小时,全面了解redis出现背景,redis...了解Redis持久化策略 8>了解Redis内存淘汰机制与过期Key清理 9>掌握Java集成Redis操作 10>完成综合案例设计与实现
八位二进制数为什么表示范围是:-128~~+127?
计算机对带符号数的表示有三种方法:原码、反码和补码 8位原码和反码能够表示数的范围是-127~127 8位补码能够表示数的范围是 -128~127 所以既然范围是-128~127,那肯定是用补码表示的。 10000000-11111111表示-128到-1, 00000000-01111111表示0-127补码的1111 1111转换成原码就是1000 0001,也
8位有符号数的范围为-128 ~ +127 深入浅出探究
8位有符号数的范围为-128 ~ +127,为什么不是 -127 ~ 127,-127 ~ 128等等? 这是一个困惑了我几年的问题,它让我对现在的教科书和老师极其不满! 从我二三十年前开始摸电脑时,就几乎在每一本计算机基础、C语言、C++教科书上都说,8位有符号的取值范围是-128~+127,为什么不是-127~+127呢,后来的java int的聚值范围,在32位计算,-2^31 ~ +2^31-1,可是,却从来没有任何一本教科书或一个老师比我解释过这个问题。 后来在工作上或者是什么地方又没有直接遇
C++Primer第五版 第七章习题
答案
(1~10)
1:知识点1:类的定义方法:struct和class两种方法的用法和区别。 知识点2:类内成员的初始化方法:成员初始化列表。编译器会调用构造函数初始化成员,可以被重载。 首先举个例子方便于理解: #include #include #include using namespace std; /* C++ 中保留了C语言的 struct 关键字,并且加以扩充。在C语言中,struct
C++Primer第五版 第四章习题
答案
(11~20)
1: (a>b) && (b>c) && (c>d) 2:记住:算数>逻辑>关系 所以该式等同于: i != (j 3:不同类型的赋值,肯定是需要强制类型转换的。 赋值运算符满足右结合律。 所以结果为: (1): d=3.0 i=3 (2): d=3.5 i=3 4:第一条语句,将变量赋给常量,判断肯定是假。 第二条语句,将42赋给变量i,本身没有问题,但是在此此
C++ 语言
64,680
社区成员
250,490
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章