【C/C++】sizeof问题总结
来源:互联网 发布:java程序开发步骤 编辑:程序博客网 时间:2024/05/01 10:13
以下默认使用32位编译器!
空结构体
struct A{};cout << sizeof(A) << endl; //1
记住,此时输出就是1
只含有一个类型的结构体
char
struct A{ char a;};cout << sizeof(A) << endl; //1
short
struct A{ short a;};cout << sizeof(A) << endl; //2
int /long/float
struct A{ int a; //long == long int //float};cout << sizeof(A) << endl; //4
double/long long
struct A{ double a;//long long};cout << sizeof(A) << endl; //8
含有多个相同类型的结构体
char
struct A{ char a, b;};cout << sizeof(A) << endl; //2
不在举例说明,只是简单的叠加关系。
含有多个不相同类型的结构体——对齐问题
char + int
struct A{ char a; int b;};cout << sizeof(A) << endl; //8
|–char–|———–|———–|———–|
|——————–int——————–|
char + short + int
struct A{ char a; short b; int c;};cout << sizeof(A) << endl; //8
|–char–|——–short——–|———–|
|——————–int——————–|
char + int + short
struct A{ char a; int b; short c;};cout << sizeof(A) << endl; //12
|–char–|———–|———–|———–|
|——————–int——————–|
|——-short——|———–|———–|
注意:对于上面的两种情况,编译器给出不同的解释。所以,在编写代码的时候,推荐从小到大的类型编写结构体,这样可以优化一些内存空间。
(完)
参考
http://blog.csdn.net/hsd2012/article/details/50968793
阅读全文
0 0
- 【C/C++】sizeof问题总结
- C/C++ sizeof 总结
- C/C++ sizeof总结
- C/C++ sizeof总结
- C/C++ sizeof 总结
- c 中sizeof 总结
- c/c++ sizeof总结
- C语言 sizeof总结
- C++:sizeof问题
- c语言sizeof问题
- c语言详解sizeof & sizeof函数总结
- C\C++ sizeof 陷阱&&总结
- 转(c/c++)sizeof()总结
- c,c++中sizeof问题
- C语言中的 sizeof 问题
- sizeof.c
- C SIZEOF
- c++-sizeof
- 机器学习笔记之反向传播算法
- 怎么解决VMware“该虚拟机似乎正在使用中”问题
- 账号被盗,如何强制下线?
- Android自定义加载圈
- Java学习笔记 04
- 【C/C++】sizeof问题总结
- C++枚举类型
- 刷题记录-codevs2144 砝码称重 2
- iOS中UIControl详解
- bzoj 4756: [Usaco2017 Jan]Promotion Counting dsu on tree+树状数组
- 2017/7/15 离线赛
- Python 下socket编程地址被占用问题:Address already in use
- Python学习难点和易错点
- python3.5+pyqt5+anaconda+mysql-connector 环境搭建