C++数据类型

基本数据类型 (Primitive Data Types)

  1. 整数类型 (Integer Types)

    • int:用于表示整数,大小通常为 4 字节(32 位),范围约为 -2,147,483,648 到 2,147,483,647。
      int a = 10;
      
    • short:表示较小的整数,通常为 2 字节(16 位),范围约为 -32,768 到 32,767。
      short b = 100;
      
    • long:表示较大的整数,通常为 4 字节(32 位)或 8 字节(64 位),取决于平台。
      long c = 100000L;
      
    • long long:表示更大的整数,至少为 8 字节(64 位),范围非常大。
      long long d = 100000000000LL;
      

    这些类型可以是有符号(signed)或无符号(unsigned)。

    unsigned int e = 100U;
    
  2. 字符类型 (Character Type)

    • char:表示单个字符,通常为 1 字节(8 位),可以是有符号(signed char)或无符号(unsigned char)。
      char f = 'A';
      unsigned char g = 255;
      
  3. 浮点类型 (Floating-point Types)

    • float:表示单精度浮点数,通常为 4 字节(32 位)。
      float h = 3.14f;
      
    • double:表示双精度浮点数,通常为 8 字节(64 位)。
      double i = 3.141592653589793;
      
    • long double:表示扩展精度浮点数,通常为 8、12、16 字节或更多,具体取决于实现。
      long double j = 3.141592653589793238L;
      

修饰符 (Modifiers)

  • signedunsigned:指定整数类型的符号。

    signed int k = -10;
    unsigned int l = 10U;
    
  • shortlong:指定整数类型的大小。

    short m = 100;
    long n = 100000L;
    

布尔类型 (Boolean Type)

  • bool:表示布尔值,仅有两个取值:truefalse
    bool o = true;
    

枚举类型 (Enumeration Types)

  • enum:定义一组具名整型常量。
    enum Color { RED, GREEN, BLUE };
    Color p = RED;
    

类型别名 (Type Aliases)

  • typedefusing:用于创建类型的别名。
    typedef unsigned long ulong;
    using uint = unsigned int;
    ulong q = 100000UL;
    uint r = 100U;
    

复合数据类型 (Compound Data Types)

  1. 数组 (Arrays)

    • 用于存储相同数据类型的多个值。
      int numbers[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
      
  2. 指针 (Pointers)

    • 用于存储变量的地址。
      int s = 10;
      int* ptr = &s;
      
  3. 引用 (References)

    • 用于创建一个变量的别名。
      int t = 10;
      int& ref = t;
      

自定义数据类型 (User-defined Data Types)

  1. 结构体 (Structures)

    • struct:用于定义一个由不同数据类型组成的数据集合。
      struct Person {
        std::string name;
        int age;
      };
      Person u = {"Alice", 30};
      
  2. 类 (Classes)

    • class:与结构体类似,但提供更多面向对象的特性,如封装、继承和多态。
      class Car {
      private:
        std::string model;
      public:
        void setModel(const std::string& m) { model = m; }
        std::string getModel() const { return model; }
      };
      Car v;
      v.setModel("Tesla");
      
  3. 联合体 (Unions)

    • union:允许不同数据类型共用同一内存区域。
      union Data {
        int intVal;
        float floatVal;
      };
      Data w;
      w.intVal = 10;
      
  4. 类型枚举 (Enumerations)

    • enumenum class:用于定义一组具名整型常量。enum class 提供更强的类型安全。
      enum class Status { SUCCESS, FAILURE };
      Status x = Status::SUCCESS;
      

其他数据类型

  1. 空类型 (Void Type)

    • void:用于表示无类型。常用于函数的返回类型,表示该函数不返回任何值。
      void myFunction() {
        // 函数体
      }
      
  2. 标准库类型 (Standard Library Types)

    • C++ 标准库提供了许多额外的数据类型,如 std::stringstd::vectorstd::map 等,用于更复杂的数据操作。
      std::string str = "Hello, World!";
      std::vector<int> vec = {1, 2, 3, 4, 5};
      std::map<std::string, int> ages = {{"Alice", 30}, {"Bob", 25}};
      

这些数据类型和修饰符构成了 C++ 强大且灵活的类型系统,使得开发者可以高效地处理各种数据需求。

posted @ 2024-07-23 09:35  checha  阅读(15)  评论(0编辑  收藏  举报