C ++数据类型

在用任何语言编写程序时,您需要使用各种变量来存储各种信息.变量只是用于存储值的保留内存位置.这意味着当你创建一个变量时,你在内存中保留了一些空间.

您可能希望存储各种数据类型的信息,如字符,宽字符,整数,浮点,双浮点,boolean等.根据变量的数据类型,操作系统分配内存并决定可以存储在保留内存中的内容.

原始内置类型

C ++为程序员提供了丰富的内置和用户定义数据类型.下表列出了七种基本的C ++数据类型 :

类型关键字
布尔值bool
字符char
整数int
浮点浮点
双浮点double
无价值void
宽字符wchar_t

几个可以使用以下一个或多个类型修饰符修改基本类型 :

  • 已签名

  • unsigned

  • short

  • long

下表sh如果变量类型,将值存储在内存中需要多少内存,以及可以存储在这种类型的变量中的最大值和最小值是多少.

输入典型位宽典型范围
char1byte-127到127或0到255
unsigned char1byte0到255
signed char1byte-127到127
int4bytes-2147483648到2147483647
unsigned int4bytes0到4294967295
signed int4bytes-2147483648到2147483647
short int2bytes-32768 to 32767
unsigned short int范围0至65,535
签署短期国际范围-32768到32767
long int4bytes-2,147,483,648到2,147,483,647
signed long int4bytes与long int相同
unsigned long int4bytes0到4,294,967,295
float4bytes+/- 3.4e +/- 38(~7位数)
double8bytes+/- 1.7e +/- 308(~15数字)
long double8bytes+/- 1.7e +/- 308(~15位)
wchar_t2或4个字节s1个宽字符

变量的大小可能与上表中显示的内容,取决于您使用的编译器和计算机.

以下是示例,它将在您的计算机上生成各种数据类型的正确大小.

#include <iostream>
using namespace std;

int main() {
   cout << "Size of char : " << sizeof(char) << endl;
   cout << "Size of int : " << sizeof(int) << endl;
   cout << "Size of short int : " << sizeof(short int) << endl;
   cout << "Size of long int : " << sizeof(long int) << endl;
   cout << "Size of float : " << sizeof(float) << endl;
   cout << "Size of double : " << sizeof(double) << endl;
   cout << "Size of wchar_t : " << sizeof(wchar_t) << endl;
   
   return 0;
}

此示例使用 endl ,它在每一行之后插入一个换行符并且<<运算符用于将多个值传递到屏幕.我们还使用 sizeof()运算符来获取各种数据类型的大小.

当编译并执行上面的代码时,它会生成以下结果,因机器而异,减去;

Size of char : 1
Size of int : 4
Size of short int : 2
Size of long int : 4
Size of float : 4
Size of double : 8
Size of wchar_t : 4

typedef声明

您可以使用 typedef 为现有类型创建新名称.以下是使用typedef定义新类型的简单语法;

 
 typedef type newname;

例如,以下内容告诉编译器脚是int和minus的另一个名称;

 
 typedef int feet;

现在,以下声明完全合法,并创建一个名为distance的整数变量;

 
英尺距离;

枚举类型

枚举类型声明一个可选的类型名称和一组零个或多个可以识别的标识符用作类型的值.每个枚举器都是一个常量,其类型是枚举.

创建枚举需要使用关键字枚举.枚举类型的一般形式是 :

 
 enum enum-name {list of names} var-list;

这里,enum-name是枚举的类型名称.名称列表以逗号分隔.

例如,以下代码定义称为颜色的颜色枚举和颜色类型的变量c.最后,c被赋值为"blue".

enum color { red, green, blue } c;
c = blue;

默认情况下,名字的值为0,第二个名称的值为1,第三个名称的值为2,依此类推.但是您可以通过添加初始化程序来提供名称,特定值.例如,在以下枚举中,绿色将具有值5.

enum color { red, green = 5, blue };

此处,蓝色的值为6,因为每个名称将比其前面的名称大一个.