前言
在C++和C语言中,数据的数据类型可以分为基本数据类型和复合数据类型两种,而复合数据类型都是由基础数据类型构成的。
本文,先对C++中的基本数据类型进行介绍,在下一篇文章中,再对复合数据类型进行更加深入的学习。
C++支持的基本数据类型
对于C++而言,基本的数据类型主要分为整型和浮点型。
其中,整型包括:char、unsigned char、wchar_t(宽字符)、C++标准新增的额char16_t和char32_t、short、unsigned short、int、unsigned int、long、unsigned long、bool,以及C++11标准新增的unsigned long long 和long long ;(值得注意的是:char和unsigned char也被称为字符型)
而浮点型则包括:float、double以及C++11标准新增的long double
数据长度的限制及要求
由于在不同的操作系统甚至不同的编译器中,每个数据类型的长度可能会有所不同,所以C++标准对每种数据类型的长度进行了限制,如下:
1、short类型至少16位;
2、int类型至少和short类型一样长;
3、long类型至少32位,且至少和int类型一样长;
4、long long类型至少64位,且至少和long类型一样长。
那么,我们怎样才能知道在不同系统下的每种数据类型具体所占的字节长度呢?在实际应用中,通过sizeof运算符,便可以获得当前系统下各个数据类型的字节宽度。比如:
sizeof(int)-->4位
sizeof(long long)-->8位
sizeof(double)-->8位
在实际应用中,我们需要选择适合我们需求的数据类型,而并非越大越好或者越小越好。如果选择使用的数据类型过大,虽然不会产生错误,但是会导致内存浪费。而如果过小,则会导致数据溢出,从而产生异常。所以,适合自己的,才是最好的,别人的永远是别人的。(# _^ _#)
注意事项
但是,值得注意一点的是,int类型常常被设置为计算机处理效率最高的数据长度,个人觉得可能是不需要进行内存地址对齐的原因。所以,在处理小于4个字节的数据时,系统会自动将其扩展为4个字节宽度进行处理(原始数据并未发生改变,只是处理方式进行了更改)。如此一来,便提升了计算机的性能。