手把手教你学C++(四)--C++变量类型

目录

基本数据类型

整型(Integer Types)

浮点型(Floating Point Types)

字符型(Character Types)

布尔型(Boolean Type)

复合数据类型

数组(Arrays)

字符串(Strings)

结构体(Structures)

联合体(Unions)

类(Classes)

指针类型(Pointer Types)

枚举类型(Enumerated Types)

复数类型(Complex Types)

空类型(Void Type)

动态类型(Dynamic Types)

总结


 

C++ 支持多种变量类型,这些类型可以分为基本类型、复合类型以及用户定义的类型。理解这些不同类型的特点和用途对于编写高效的 C++ 程序非常重要。以下是 C++ 中常见的变量类型及其详细说明:

基本数据类型

基本数据类型是最简单的数据类型,用于表示单一的数据值。C++ 中的基本数据类型主要包括整型、浮点型、字符型和布尔型等。

整型(Integer Types)

整型用于存储整数,即没有小数部分的数值。C++ 支持多种整型数据类型:

  • char:用于存储单个字符,通常占用 8 位(1 字节)。

     
    cpp

    深色版本

    char letter = 'A';
  • signed char:带符号的字符类型。

     
    cpp

    深色版本

    signed char signedLetter = -128;
  • unsigned char:无符号的字符类型。

     
    cpp

    深色版本

    unsigned char unsignedLetter = 255;
  • int:用于存储普通整数,默认为带符号的整型,通常占用 32 位(4 字节)。

     
    cpp

    深色版本

    int number = 100;
  • signed int:带符号的整型。

     
    cpp

    深色版本

    signed int signedNumber = -2147483648;
  • unsigned int:无符号的整型。

     
    cpp

    深色版本

    unsigned int unsignedNumber = 4294967295u;
  • short:短整型,默认为带符号的整型,通常占用 16 位(2 字节)。

     
    cpp

    深色版本

    short shortNumber = 32767;
  • signed short:带符号的短整型。

     
    cpp

    深色版本

    signed short signedShort = -32768;
  • unsigned short:无符号的短整型。

     
    cpp

    深色版本

    unsigned short unsignedShort = 65535u;
  • long:长整型,默认为带符号的整型,通常占用 32 位(4 字节),但在某些系统中可能更大。

     
    cpp

    深色版本

    long longNumber = 2147483647;
  • signed long:带符号的长整型。

     
    cpp

    深色版本

    signed long signedLong = -2147483648;
  • unsigned long:无符号的长整型。

     
    cpp

    深色版本

    unsigned long unsignedLong = 4294967295ul;
  • long long:超长整型,默认为带符号的整型,至少占用 64 位(8 字节)。

     
    cpp

    深色版本

    long long longLong = 9223372036854775807ll;
  • signed long long:带符号的超长整型。

     
    cpp

    深色版本

    signed long long signedLongLong = -9223372036854775808ll;
  • unsigned long long:无符号的超长整型。

     
    cpp

    深色版本

    unsigned long long unsignedLongLong = 18446744073709551615ull;

浮点型(Floating Point Types)

浮点型用于存储带有小数部分的数值。常见的浮点类型包括:

  • float:单精度浮点数,通常占用 32 位(4 字节)。

     
    cpp

    深色版本

    float pi = 3.14159f;
  • double:双精度浮点数,通常占用 64 位(8 字节),精度更高。

     
    cpp

    深色版本

    double gravity = 9.81;
  • long double:长双精度浮点数,通常占用 80 位或更多,取决于编译器。

     
    cpp

    深色版本

    long double epsilon = 2.2250738585072014e-308L;

字符型(Character Types)

字符类型用于存储单个字符:

  • char:通常占用 8 位(1 字节)。

     
    cpp

    深色版本

    char letter = 'A';
  • wchar_t:宽字符类型,通常用于 Unicode 字符。

     
    cpp

    深色版本

    wchar_t wideChar = L'A';
  • char16_t:固定大小的 16 位字符类型。

     
    cpp

    深色版本

    char16_t utf16Char = u'A';
  • char32_t:固定大小的 32 位字符类型。

     
    cpp

    深色版本

    char32_t utf32Char = U'A';

布尔型(Boolean Type)

布尔类型用于表示真/假值:

  • bool:布尔类型,只有两个值 true 和 false
     
    cpp

    深色版本

    bool isTrue = true;

复合数据类型

复合数据类型用于组织和管理更复杂的数据结构,包括数组、字符串、结构体、联合体和类等。

数组(Arrays)

数组用于存储相同类型的多个元素:

  • 一维数组

     
    cpp

    深色版本

    int arr[5] = {1, 2, 3, 4, 5};
  • 多维数组

     
    cpp

    深色版本

    int matrix[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};

字符串(Strings)

字符串通常使用 std::string 类来表示:

 

cpp

深色版本

#include <string>
std::string greeting = "Hello, World!";

结构体(Structures)

结构体用于组合不同类型的成员变量:

 

cpp

深色版本

struct Person {
    std::string name;
    int age;
    bool isStudent;
};

Person alice = {"Alice", 30, false};

联合体(Unions)

联合体用于共享同一段内存的不同类型的数据:

 

cpp

深色版本

union Data {
    int i;
    float f;
    double d;
};

Data data;
data.i = 10;

类(Classes)

类是面向对象编程的基础,用于定义对象的属性和方法:

 

cpp

深色版本

class Circle {
public:
    Circle(double r) : radius(r) {}
    double getArea() const { return 3.14159 * radius * radius; }
private:
    double radius;
};

Circle c(5.0);
std::cout << "Area: " << c.getArea() << std::endl;

指针类型(Pointer Types)

指针用于存储内存地址:

  • int*:指向 int 类型的指针。
     
    cpp

    深色版本

    int data = 10;
    int* ptr = &data;

枚举类型(Enumerated Types)

枚举类型用于定义一组命名的常量:

 

cpp

深色版本

enum Color { Red, Green, Blue };
Color myColor = Green;

复数类型(Complex Types)

用于表示复数:

 

cpp

深色版本

#include <complex>
std::complex<double> z(3.0, 4.0); // 实部为 3.0,虚部为 4.0

空类型(Void Type)

表示没有类型的数据:

  • void:用于表示没有类型的数据,通常用于函数返回类型。
     
    cpp

    深色版本

    void myFunction() {
        // 函数体
    }

动态类型(Dynamic Types)

动态类型是指在运行时确定类型的变量,例如通过 std::anystd::variant 等类型。

总结

通过以上介绍,你可以了解到 C++ 中各种变量类型的特性和用途。选择合适的数据类型对于编写高效、易读和易维护的代码至关重要。随着编程经验的积累,你将更加熟练地使用这些类型来解决实际问题。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值