C++变量与数据类型
1. C++变量与数据类型
1.1 基本数据类型
C++ 提供了多种基本数据类型,这些类型是构建复杂数据结构的基础。以下是几种常见的基本数据类型及其特点:
整数类型
int
:用于表示整数,通常占用 4 个字节,取值范围为 ([-2^{31}, 2^{31}-1]。例如:int age = 25;
short
:短整数类型,通常占用 2 个字节,取值范围为 ([-2^{15}, 2^{15}-1]。适用于需要节省内存的场景:short count = 100;
long
:长整数类型,通常占用 4 个字节(在 64 位系统中可能为 8 个字节),取值范围为 ([-2^{31}, 2^{31}-1] 或 ([-2^{63}, 2^{63}-1]:long distance = 1000000;
long long
:更长的整数类型,占用 8 个字节,取值范围为 ([-2^{63}, 2^{63}-1],适合处理大整数:long long bigNumber = 1234567890123456789;
浮点类型
float
:单精度浮点数,通常占用 4 个字节,有效数字为 7 位。例如:float pi = 3.1415926f;
double
:双精度浮点数,通常占用 8 个字节,有效数字为 15-16 位。适用于需要更高精度的场景:double e = 2.718281828459045;
long double
:扩展精度浮点数,占用字节数根据实现而变化,通常为 12 或 16 个字节,精度更高:long double bigPi = 3.14159265358979323846;
字符类型
char
:用于表示单个字符,通常占用 1 个字节,取值范围为 ([-128, 127] 或 ([0, 255],取决于编译器是否支持扩展字符集。例如:char letter = 'A';
wchar_t
:宽字符类型,通常占用 2 或 4 个字节,用于表示 Unicode 字符。例如:wchar_t wideChar = L'你';
char16_t
:16 位 Unicode 字符,占用 2 个字节。例如:char16_t unicodeChar = u'你';
char32_t
:32 位 Unicode 字符,占用 4 个字节。例如:char32_t wideUnicodeChar = U'你';
布尔类型
bool
:用于表示布尔值,只有两个可能的值:true
和false
。通常占用 1 个字节。例如:bool isTrue = true;
1.2 复合数据类型
除了基本数据类型,C++ 还提供了复合数据类型,用于表示更复杂的数据结构。这些类型包括数组、指针、结构体、类等。
数组
- 数组是一组相同类型的数据元素的集合,通过索引访问每个元素。例如:
int arr[5] = { 1, 2, 3, 4, 5}; // 定义一个包含 5 个整数的数组 arr[2] = 10; // 修改数组的第三个元素
- 数组是一组相同类型的数据元素的集合,通过索引访问每个元素。例如:
指针
- 指针是一个变量,用于存储另一个变量的内存地址。指针的类型与其指向的变量类型相关。例如:
int value = 10; int* ptr = &value; // 定义一个指向 int 类型的指针,并将其指向 value 的地址 *ptr = 20; // 通过指针修改 value 的值
- 指针是一个变量,用于存储另一个变量的内存地址。指针的类型与其指向的变量类型相关。例如:
结构体
- 结构体是一种用户自定义的数据类型,可以包含多个不同类型的数据成员。例如:
struct Person { string name; int age; float height; }; Person person1 = { "Alice", 25, 1.65}; // 创建一个 Person 类型的变量
- 结构体是一种用户自定义的数据类型,可以包含多个不同类型的数据成员。例如:
类
- 类是 C++ 中的核心概念,用于实现面向对象编程。类可以包含数据成员和成员函数。例如:
class Car { public: string brand; int year; void display() { cout << "Brand: " << brand << ", Year: " << year << endl; } }; Car myCar; myCar.brand = "Toyota"; myCar.year = 2020; myCar.display(); // 调用成员函数 ```# 2. 常量
- 类是 C++ 中的核心概念,用于实现面向对象编程。类可以包含数据成员和成员函数。例如:
2.1 定义方式
在 C++ 中,常量的定义方式主要有以下几种:
使用
const
关键字const
是一种类型修饰符,用于定义常量。它可以在定义变量时指定该变量的值不能被修改。例如:
使用const int MAX_SIZE = 100; // 定义一个整数常量 const double PI = 3.1415926; // 定义一个双精度浮点常量 const char* GREETING = "Hello, World!"; // 定义一个字符串常量
const
定义的常量必须在定义时初始化,且其值在程序运行过程中不能被修改。
使用
#defin