C++中基本的数据类型和所占的内存大小
来源:互联网 发布:自学英语教材 知乎 编辑:程序博客网 时间:2024/04/28 22:06
一、整形
1、整形有char、short、int、long、long long,这5个也默认为signed XX ,相应的无符号的类型,即unsigned类型。规则:short至少16位;int至少和short一样;long至少32位,且至少和int一样长;long long至少64位,且至少和long一样长。不同的数据类型的所占的字节数不一样,这与系统和C++库有关系。
可以看到,在32位和64位计算机上,对于整形唯一不同的就是int和指针的大小,其中32位计算机上int占2字节,64位上占4字节。指针大小和int大小相同。
2、wchar_t:“char是8位字符类型,最多只能包含256种字符,许多外文字符集所含的字符数目超过256个,char型无法表示。
wchar_t数据类型一般为16位或32位,但不同的C或C++库有不同的规定,如GNU Libc规定wchar_t为32位,总之,wchar_t所能表示的字符数远超char型。标准C++中的wprintf()函数以及iostream类库中的类和对象能提供wchar_t宽字符类型的相关操作。”
3、C ++11新增类型:char16_t和char32_t
char16_t:16位无符号->前缀u表示 char32_t:32位无符号->前缀U表示
值得注意的是VS2013还没有支持char16_t和char32_t
二、浮点型
浮点有3个:float、double、long double
规则:float至少4字节;double至少6字节,且不少于float;long double至少和double一样多。
3种类型,指数范围至少是-37~37.
通常float32位,double64位,long double80、96或128位。我在VS2013上测到long double位64位。
三、前缀和后缀
1、前缀:
0开头表示8进制,0x或0X开头表示16进制。
2、后缀:
—— l或L表示long常量
—— u或U表示unsigned int常量
—— ul、uL、Ul、UL、lU、lu、LU、Lu表示unsigned long常量。(lu可以采用任意顺序和大小写表示)
—— ll、LL表示long long 常量。
—— ull、Ull、uLL、ULL表示unsigned long long常量。
3、对于浮点常量,
—— f或F表示float
—— l或L表示long double
—— 其他都表示double
4、不带后缀时的规则——尽可能采用小的类型:
—— 对于10进制:int->long->long long
—— 对于8进制或16进制:int->unsigned int->long->unsigned long->long long ->unsigned long long
出处:
* 作者:钱书康
* 出处:http://www.cnblogs.com/zrtqsk/
0 0
- C++中基本的数据类型和所占的内存大小
- C/C++中基本数据类型所占内存大小
- C语言数据类型在单片机 MCU 中占的内存大小
- iOS基本数据类型所占内存大小
- C++中对象所占的内存大小
- 基本数据类型所占的字节数【C/C++】
- C/C++中不同数据类型所占用的内存大小
- C/C++中不同数据类型所占用的内存大小
- c语言基本数据类型所占的位数
- Java 各基本数据类型和所占的字节数
- Java基本数据类型的【取值范围】【占内存大小】【默认值】
- 基本数据类型 所占的 存储空间
- 基本数据类型 所占的 存储空间
- C和C++的数据类型所占的空间
- C语言中各种数据类型中所占的字节和取值范围
- C语言中各种数据类型中所占的字节和取值范围
- C语言中各种数据类型中所占的字节和取值范围
- c语言基本数据类型在内存中所占字节
- memcache内存分配原理和分享
- masm5.0分享与安装
- Struts2自定义拦截器
- 第十三周 项目一 - prim算法的验证
- Ubunt16.04下编译Linux遇到的问题
- C++中基本的数据类型和所占的内存大小
- Ubuntu16.04下安装jdk和Android Studio
- 深入理解指针函数
- js设置html节点属性
- 转载自一米阳光jjfdfd
- 【Android Meditation】从客户端和服务端看APP版本兼容问题
- PHP跳转的三种方法
- java 不定参数
- jquery事件