C++ 数据类型

  • 数据类型

    用任何语言编写程序时,您需要使用各种变量来存储各种信息。变量不过是用于存储值的保留内存位置。这意味着当您创建变量时,会在内存中保留一些空间。您可能希望存储各种数据类型的信息,例如字符,宽字符,整数,浮点数,双浮点数,布尔值等。操作系统根据变量的数据类型分配内存,并确定可以在内存中存储的内容。保留的内存。
  • 原始内置类型

    C++为程序员提供了丰富的内置以及用户定义的数据类型。下表列出了七种基本的C++数据类型-
    类型 关键词
    布尔 bool
    字符 char
    整数 int
    浮点 float
    双精度浮点数 double
    通用类型 void
    宽字符 wchar_t
    可以使用一个或多个这些类型修饰符来修改几种基本类型-
    • signed
    • unsigned
    • short
    • long
    下表显示了变量类型,将值存储在内存中需要多少内存以及此类变量中可以存储的最大值和最小值。
    类型 位宽 范围
    char 1字节(byte) -127 到 127 或者 0 到 255
    unsigned char 1字节(byte) 0 到 255
    signed char 1字节(byte) -127 到 127
    int 4字节(byte) -2147483648 到 2147483647
    unsigned int 4字节(byte) 0 到 4294967295
    signed int 4字节(byte) -2147483648 到 2147483647
    short int 2字节(byte) -32768 到 32767
    unsigned short int 2字节(byte) 0 到 65,535
    signed short int 2字节(byte) -32768 到 32767
    long int 8字节(byte) -2,147,483,648 到 2,147,483,647
    signed long int 8字节(byte) 跟 long int 相同
    unsigned long int 8字节(byte) 0 到 4,294,967,295
    long long int 8字节(byte) -(2^63) 到 (2^63)-1
    unsigned long long int 8字节(byte) 0 到 18,446,744,073,709,551,615
    float 4字节(byte)  
    double 8字节(byte)  
    long double 12字节(byte)  
    wchar_t 2 或者 4 字节(byte) 一个字符宽度
    变量的大小可能不同于上表中显示的大小,具体取决于所使用的编译器和计算机。以下是示例,它将在您的计算机上产生各种数据类型的正确大小。
    
    #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; 
    
    例如,以下内容告诉编译器,feet是int的另一个名称-
    
    typedef int feet;
    
    现在,以下声明完全合法,并创建了一个名为distance的整数变量-
    
    feet distance;
    
  • 枚举类型

    枚举类型声明一个可选的类型名称,以及一组零个或多个可以用作该类型值的标识符。每个枚举数都是一个常量,其类型为枚举。
    创建枚举需要使用关键字enum。枚举类型的一般形式是-
    
    enum enum-name { list of names } var-list; 
    
    在这里,枚举名称是枚举的类型名称。名称列表以逗号分隔。例如,以下代码定义了称为color的颜色和color类型的变量c的枚举。最后,为c分配值“blue”。
    
    enum color { red, green, blue } c;
    c = blue;
    
    默认情况下,第一个名称的值为0,第二个名称的值为1,第三个名称的值为2,依此类推。但是,您可以通过添加初始化程序来指定名称和特定值。例如,在下面的枚举中,green的值为5。
    
    enum color { red, green = 5, blue };
    
    在这里,blue的值为6,因为每个名称都比其前一个大一个。