数组和字符串是 C++ 中最基础的批量数据存储方式,也是笔试、面试高频考点,本篇带你一次性掌握。
一、数组基础
数组是相同类型数据的集合,占用连续内存,下标从 0 开始。
- 数组定义语法
cpp
数据类型 数组名[长度];
- 数组初始化
cpp
// 方式1:直接赋值 int arr[5] = {10, 20, 30, 40, 50};
// 方式2:部分赋值,其余默认为0 int arr[5] = {1, 2};
// 方式3:省略长度 int arr[] = {1, 2, 3, 4};
- 数组访问与遍历
cpp
#include using namespace std;
int main() { int arr[5] = {10, 20, 30, 40, 50};
// 访问第1个元素:arr[0]
cout << arr[0] << endl;
// 遍历数组
for(int i = 0; i < 5; i++) {
cout << arr[i] << " ";
}
return 0;
}
- 数组要点
- 下标从 0 开始,最大下标是 长度-1
- 数组一旦定义,长度固定不可变
- 数组名代表数组首地址
二、字符串(string)
C++ 推荐使用 string 类处理字符串,比 C 语言字符数组更安全、更方便。
- 使用前必须加头文件
cpp
#include #include // 字符串必须加 using namespace std;
- 定义与赋值
cpp
string s1 = "Hello C++"; string s2("你好");
- 常用操作
cpp
string s = "hello";
// 1. 获取长度 int len = s.size(); // 或 s.length()
// 2. 访问单个字符 char c = s[0]; // h
// 3. 字符串拼接 string s3 = s + " world";
// 4. 比较 if(s1 == s2) { }
完整示例
cpp
#include #include using namespace std;
int main() { string s = "Hello CSDN & 掘金";
cout << "字符串长度:" << s.size() << endl;
cout << "第一个字符:" << s[0] << endl;
// 遍历
for(int i = 0; i < s.size(); i++) {
cout << s[i];
}
return 0;
}
三、字符数组(C 风格字符串)
cpp
char str[] = "hello";
- 以 \0 结尾
- 不推荐新手使用,建议直接用 string
四、本篇总结
- 数组:相同类型、连续存储、下标从 0 开始
- 数组长度固定,不能随意扩容
- 字符串优先使用 string
- 获取长度: s.size() / s.length()
- 字符访问: s[下标]