社区
C++ 语言
帖子详情
C++中对struct求sizeof,64位的机器
hustluotao
2016-02-24 01:23:41
struct s1 {
int a;
long long b;
char c;
};
struct s2 {
long long a;
int b;
char c;
};
sizeof(s1)跑出来是24
sizeof(s2)跑出来是16
不知道为什么,求大神解答!!!不胜感激
...全文
204
5
打赏
收藏
C++中对struct求sizeof,64位的机器
struct s1 { int a; long long b; char c; }; struct s2 { long long a; int b; char c; }; sizeof(s1)跑出来是24 sizeof(s2)跑出来是16 不知道为什么,求大神解答!!!不胜感激
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hustluotao
2016-02-24
打赏
举报
回复
懂了,谢谢各位
天外怪魔
2016-02-24
打赏
举报
回复
8字节对齐。 s1中a,b,c各占8个字节,共24字节。 s2中a占8字节,b和c一起占8直接,共16字节。
ztenv
版主
2016-02-24
打赏
举报
回复
都按8节字对齐的…………
paschen
版主
2016-02-24
打赏
举报
回复
结构体的对齐问题 你这里应该是以8字节对齐 第一种情况int后填充4个字节,char后填充7个字节,所以一共24 第二种情况 int 和 char 共用 8字节,后面再填充3字节,所以一共16 关于结构体对齐问题去网上大把文章讲解
珍惜生命远离CPP
2016-02-24
打赏
举报
回复
这种问题直接google 结构体内存对齐
C++
中
的
sizeof
(
struct
)
关于
C++
中
的
sizeof
(
struct
)是面试和笔试
中
经常出现的问题,下面将一些常见问题总结如下: 1 定义一个结构体,里面是空的,
sizeof
(
struct
)为多少?
sizeof
(
struct
)=1,因为当我们在申请该类型的实例时,它必须在内存
中
占用一定的空间,VS
中
每个空类型的实例占用1字节的内存空间。 2 在空
struct
中
加入构造函数和析构函数,
sizeof
(
struct
C++
sizeof
(
struct
)计算结构体大小
一、
sizeof
() 在学习
C++
的时候会学到一个
sizeof
操作符,在 C 语言
中
,
sizeof
() 是一个判断数据类型或者表达式长度的运算符。单位是位(byte)。 我们都知道char、short、int、long、float、double的大小; 二、结构体的大小 定义一个结构体:
struct
stru{ char a; int b; float c; double d; }; ...
C++
类/
struct
相关的
sizeof
(字节)
序言 主要是为了了解一个类当里面有数据时,或者空类时会分配多少个字节。 1.为类的非静态成员数据的类型大小之和. 2.由编译器额外加入的成员变量的大小,用来支持语言的某些特性(如:指向虚函数的指针). 3.为了优化存取效率,进行的边缘调整(对齐). 4 .与类
中
的构造函数,析构函数以及其他的成员函数(静态,全局)无关. 类
sizeof
优化存取效率 ,进行边缘调整,取最大的接近cpu字长的整数倍。...
c/
c++
struct
的大小以及
sizeof
用法
写出一个
struct
,然后
sizeof
,你会不会经常对结果感到奇怪?
sizeof
的结果往往都比你声明的变量总长度要大,这是怎么回事呢?讲讲字节对齐吧./******************************分割线如果体系结构是不对齐的,A
中
的成员将会一个挨一个存储,从而
sizeof
(a)为11。显然对齐更浪费了空间。那么为什么要使用对齐呢?体系结构的对齐和不对齐,是在时
C语言
sizeof
(
struct
)讲解
struct
My
Struct
{ double dda1; char dda; int type }; 对结构My
Struct
采用
sizeof
会出现什么结果呢?
sizeof
(My
Struct
)为多少呢?也许你会这样
求
:
sizeof
(My
Struct
)=
sizeof
(double)+
sizeof
(char)+
sizeof
(int)=13 但是当在VC
中
测试上面结构的大小时,你会发现
sizeof
(...
C++ 语言
64,666
社区成员
250,488
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章