C++ 数据类型(Data Types)
                           
天天向上
发布: 2025-03-27 23:51:42

原创
612 人浏览过

C++ 是一种强类型语言,变量在使用前必须声明其类型。C++ 提供了多种数据类型,包括基本数据类型用户自定义类型复合数据类型


1. 基本数据类型

C++ 提供以下基本数据类型:

数据类型关键字大小(通常)取值范围
整数类型int4 字节-2,147,483,648 ~ 2,147,483,647
字符类型char1 字节-128 ~ 127 或 0 ~ 255
浮点数类型float4 字节3.4E-38 ~ 3.4E+38
双精度浮点数double8 字节1.7E-308 ~ 1.7E+308
长双精度浮点数long double16 字节3.4E-4932 ~ 1.1E+4932
布尔类型bool1 字节true(1)或 false(0)
空类型void无返回值

不同编译器可能有不同的大小分配,可以使用 sizeof() 函数查看具体大小。

示例:

#include <iostream>
using namespace std;

int main() {
    int a = 10;
    char b = 'A';
    float c = 3.14;
    double d = 3.14159;
    bool e = true;

    cout << "int: " << a << ", 大小: " << sizeof(a) << " 字节" << endl;
    cout << "char: " << b << ", 大小: " << sizeof(b) << " 字节" << endl;
    cout << "float: " << c << ", 大小: " << sizeof(c) << " 字节" << endl;
    cout << "double: " << d << ", 大小: " << sizeof(d) << " 字节" << endl;
    cout << "bool: " << e << ", 大小: " << sizeof(e) << " 字节" << endl;

    return 0;
}

2. 修饰符(Modifiers)

C++ 允许使用 修饰符 来调整数据类型的范围和大小。

修饰符说明
signed默认修饰符,允许正负数
unsigned仅允许非负数
short短整型,占用更少空间
long长整型,占用更多空间

示例:

#include <iostream>
using namespace std;

int main() {
    unsigned int x = 100;  // 只允许非负数
    short int y = -32768;  // 占用 2 字节
    long int z = 1000000;  // 占用 4 或 8 字节

    cout << "unsigned int: " << x << ", 大小: " << sizeof(x) << " 字节" << endl;
    cout << "short int: " << y << ", 大小: " << sizeof(y) << " 字节" << endl;
    cout << "long int: " << z << ", 大小: " << sizeof(z) << " 字节" << endl;

    return 0;
}

3. 复合数据类型

3.1 数组(Array)

数组用于存储相同类型的多个值

int numbers[5] = {1, 2, 3, 4, 5};

3.2 指针(Pointer)

指针用于存储变量的内存地址

int a = 10;
int* p = &a;

3.3 结构体(Struct)

结构体用于存储不同类型的数据

struct Student {
    string name;
    int age;
    float score;
};

3.4 枚举(Enum)

枚举用于定义一组具名常量

enum Color {RED, GREEN, BLUE};

4. 类型转换

C++ 支持 隐式转换显式转换

4.1 隐式类型转换

自动转换类型(低精度 → 高精度)。

int a = 5;
double b = a; // 自动转换为 double

4.2 显式类型转换

手动转换类型(高精度 → 低精度)。

double a = 5.75;
int b = (int)a; // 强制转换为 int

5. 总结

  • 基本数据类型int, char, float, double, bool, void
  • 修饰符signed, unsigned, short, long
  • 复合数据类型:数组、指针、结构体、枚举
  • 类型转换:隐式转换(自动)、显式转换(强制)

建议:根据实际需求选择合适的数据类型,以提高程序效率和可读性!更多详细内容请关注其他相关文章!

发表回复 0

Your email address will not be published. Required fields are marked *