C++的基本数据类型包括整型、浮点型、字符型和布尔型。这些类型可以进一步分为带符号和无符号版本。

  • 整型intshortlonglong long
    存储整数,不同整型的区别在于所占内存大小和取值范围。例如,int通常为4字节,short为2字节。

  • 浮点型floatdoublelong double
    存储小数,精度依次递增。float通常为4字节,double为8字节。

  • 字符型charwchar_tchar16_tchar32_t
    char用于存储单个ASCII字符(1字节),wchar_t等支持宽字符集。

  • 布尔型bool
    取值为truefalse,通常占1字节。

派生数据类型

派生数据类型通过基本类型组合或扩展而来,包括数组、指针、引用和函数。

  • 数组:存储相同类型的元素集合。
    示例:int arr[5] = {1, 2, 3, 4, 5};

  • 指针:存储内存地址。
    示例:int* ptr = &variable;

  • 引用:变量的别名。
    示例:int& ref = variable;

  • 函数:可执行代码块,具有返回类型和参数列表。
    示例:int add(int a, int b) { return a + b; }

用户自定义数据类型

用户可以通过结构体、类、联合体和枚举定义自己的数据类型。

  • 结构体(struct):将不同类型的数据组合成一个整体。
    示例:

    struct Person {
        string name;
        int age;
    };
    
  • 类(class):扩展结构体概念,支持封装、继承和多态。
    示例:

    class Circle {
    private:
        double radius;
    public:
        double getArea() { return 3.14 * radius * radius; }
    };
    
  • 联合体(union):所有成员共享同一内存空间。
    示例:

    union Data {
        int i;
        float f;
    };
    
  • 枚举(enum):定义一组命名的常量。
    示例:

    enum Color { RED, GREEN, BLUE };
    

类型修饰符

类型修饰符如signedunsignedshortlong可调整基本类型的存储范围。

  • signed int:默认整型,包含正负值。
  • unsigned int:仅包含非负值,范围更大。
  • long double:扩展浮点型精度。

类型转换

C++支持隐式和显式类型转换:

  • 隐式转换:编译器自动完成,如intfloat
  • 显式转换:通过static_castdynamic_cast等操作符强制转换。
    示例:double d = static_cast<double>(intVar);

每天掌握一个知识点!一点进步一点点!

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐