编辑这个页面须要登录或更高权限!

C++ 数据类型

在本教程中,我们将借助示例学习C ++编程中的基本数据类型,例如int,float,char等。

在C ++中,数据类型是变量的声明。这确定了与变量关联的数据的类型和大小。例如,

int age = 13;

这里age是type的变量int。这意味着该变量只能存储2或4个字节的整数。

C ++基本数据类型

下表显示了基本数据类型,其含义和大小(以字节为单位):

类型关键字大小
布尔型bool1 字节
字符型char1 字节
整型int2 字节或 4字节
浮点型float4 字节
双浮点型double8 字节
无类型void0 字节
宽字符型

wchar_t

2 字节

现在,让我们更详细地讨论这些基本数据类型。

1. C ++ int (整型)

  • int关键字用来表示整数。

  • 它的大小通常为4个字节。意思是,它可以存储从-2147483648 到 214748647的值。

  • 例如,

int salary = 85000;

2. C ++float和double(浮点和双浮点型)

  • float和double用于存储浮点数(小数和指数)。

  • float的大小是4字节,double的大小是8字节。因此,double的精度是float的两倍。要了解更多,请参考c++ float和double。

  • 例如,

float area = 64.74;
double volume = 134.64534;

如上所述,这两种数据类型也用于指数。例如,

double distance = 45E12    // 45E12 等于 45*10^12

3. C ++ char(字符型)

  • 关键字char用于字符。

  • 它的大小是1个字节。

  • C ++中的字符用单引号' '引起来。

  • 例如,

char test = 'h';

注意:在C ++中,整数值存储在char变量中,而不是字符本身。

4. C ++ wchar_t (宽字符型)

  • 宽字符wchar_t类似于char数据类型,不同之处在于它的大小是2个字节而不是1个字节。

  • 它用于表示比char单个字符需要更多内存来表示它们的字符。

  • 例如,

wchar_t test = L'ם'  // 存储希伯来语字符

注意引号前的字母L。

注意:在C ++ 11中还引入了另外两个固定大小的字符类型char16_t和char32_t。

5. C ++ bool (布尔型)

  • bool数据类型有两个可能的值:true或false。

  • 布尔用于条件语句和循环(我们将在后面的章节中学习)。

  • 例如,

bool cond = false;

6. C ++ void(无类型)

  • void关键字表示不存在数据。这意味着“没有”或“没有值”。

  • 当我们学习函数和指针时,会使用到void。

注意:我们不能声明void类型的变量。

C ++类型修饰符

我们可以使用类型修饰符来进一步修改一些基本数据类型。C ++中有4种类型修饰符。他们是:

  1. signed

  2. unsigned

  3. short

  4. long

我们可以使用上述修饰符修改以下数据类型:

  • int

  • double

  • char

C ++修改的数据类型列表

类型范围
char1 个字节-128 到 127 或者 0 到 255
unsigned char1 个字节0 到 255
signed char1 个字节-128 到 127
int4 个字节-2147483648 到 2147483647
unsigned int4 个字节0 到 4294967295
signed int4 个字节-2147483648 到 2147483647
short int2 个字节-32768 到 32767
unsigned short int2 个字节0 到 65,535
signed short int2 个字节-32768 到 32767
long int4 个字节-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807
signed long int8 个字节-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807
unsigned long int8 个字节0 到 18,446,744,073,709,551,615
float4 个字节精度型占4个字节(32位)内存空间,+/- 3.4e +/- 38 (~7 个数字)
double8 个字节双精度型占8 个字节(64位)内存空间,+/- 1.7e +/- 308 (~15 个数字)
long double16 个字节长双精度型 16 个字节(128位)内存空间,可提供18-19位有效数字。
wchar_t2 或 4 个字节1 个宽字符

让我们看一些实例。

long b = 4523232;
long int c = 2345342;
long double d = 233434.56343;
short d = 3434233; // 错误! 超出范围
unsigned int a = -5;    //错误! 只能存储正数或0

派生数据类型

从基本数据类型派生的数据类型是派生类型。例如:数组,指针,函数类型,结构等。

我们将在后面的教程中了解这些派生的数据类型。