C++ 学习笔记(5):数组与字符串

1 阅读2分钟

数组和字符串是 C++ 中最基础的批量数据存储方式,也是笔试、面试高频考点,本篇带你一次性掌握。

 

一、数组基础

数组是相同类型数据的集合,占用连续内存,下标从 0 开始。

  1. 数组定义语法

cpp

数据类型 数组名[长度];  

  1. 数组初始化

cpp

// 方式1:直接赋值 int arr[5] = {10, 20, 30, 40, 50};

// 方式2:部分赋值,其余默认为0 int arr[5] = {1, 2};

// 方式3:省略长度 int arr[] = {1, 2, 3, 4};  

  1. 数组访问与遍历

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;

}  

  1. 数组要点
  • 下标从 0 开始,最大下标是 长度-1
  • 数组一旦定义,长度固定不可变
  • 数组名代表数组首地址

 

二、字符串(string)

C++ 推荐使用  string  类处理字符串,比 C 语言字符数组更安全、更方便。

  1. 使用前必须加头文件

cpp

#include #include // 字符串必须加 using namespace std;  

  1. 定义与赋值

cpp

string s1 = "Hello C++"; string s2("你好");  

  1. 常用操作

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[下标]