C++学习之旅——C++中数据类型所占的字节
来源:互联网 发布:韦德数据统计 编辑:程序博客网 时间:2024/06/04 18:19
先来列一下C++的数据类型:
整型:int,long。这两个还分signed(有符号)和unsigned(无符号)的,当然有符号和无符号所占字节大小是一样的,就不管他了。
布尔型:bool
字符型:char,这两个还分signed(有符号)和unsigned(无符号)的,不过没多大用,用在转化为数值时就用区别。
浮点型:float,double,long double。
这只能上代码验证了,貌似机子不同数据类型所占大小也不同,太威武了,我就检查下我这个32位windows系统电脑吧。我用的IDE是Code::Blocks,发现挺好用的,主要是工程文件小,不像vs2010建个工程就大得很,哥这小硬盘吃不消啊(题外话)。
先看整型的吧,代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
using
namespace
std;
int
main()
{
int
a;
long
b;
int
Byteof_int=
sizeof
(a);
int
Byteof_long=
sizeof
(b);
cout <<
"int:"
<<Byteof_int<<endl;
cout <<
"long:"
<<Byteof_long<<endl;
return
0;
}
结果显示:
int:4
long:4
int和long都是占4个字节(即32位)。
其他数据类型验证吧上面代码数据类型替换下就是了,得出下面的结果:
bool:1
char:1
wchar_t:2
float:4
double:8
特别要注意的时,对于指针类型,都占4个字节,指针指向的是一个地址,地址是int类型的,32位操作系统就是4字节。当然如果是64位操作系统那就是8字节了。
此外,int这个类型占操作系统一个内存单元大小。早先16位操作系统一个内存单元是16位,所以是2个字节;32位系统一个内存单元是是32位,所以是4字节;64位操作系统一个内存单元是16位,故占8个字节。
另外还需要注意,以下情况为影响分配情况:
1、函数所占字节
2、内存变量对齐方式
详情请看下两篇文章
- C++学习之旅——C++中数据类型所占的字节
- 基本数据类型所占的字节数【C/C++】
- c语言基本数据类型在内存中所占字节
- C语言中常用数据类型所占字节数
- C语言中数据类型所占字节数总结
- C语音中数据类型所占字节数
- 笔记--关于c语言中各种数据类型所占字节。
- C、C++数据类型所占字节数
- C语言数据类型所占字节数
- C语言数据类型所占字节数
- C语言-数据类型所占字节数
- C语言的数据类型所占的字节数
- C语言中各种数据类型中所占的字节和取值范围
- C语言中各种数据类型中所占的字节和取值范围
- C语言中各种数据类型中所占的字节和取值范围
- linux学习之c语言变量所占字节数
- c中单个字符所占字节
- C/C++基本数据类型所占字节数
- VC中ADO Data控件的使用
- ubuntu12.04 开机自动挂载磁盘分区
- 网络子系统54_ip协议分片重组_定位ipq
- php连接Access数据库的三种方法
- Linux进程状态解析之R、S、D、T、Z、X
- C++学习之旅——C++中数据类型所占的字节
- 字符串模式匹配:Sunday算法
- [Google] regular string matching
- 古剑奇谭2打砺罂10分钟过的方法!
- Metasploit数据库问题汇总
- Aop的深入理解
- MongoDB 学习笔记(四):索引
- 不用乘除法,循环,判断求1+2+...+n
- windows以及bt5r3环境下Nessus安装步骤