C++入门——60s从0到1
字符数组
C++中的字符数组是一个用于存储字符串的常用数据类型。本文将详细介绍如何声明、初始化、访问和操作字符数组,以及如何使用字符数组处理字符串。
声明和初始化字符数组
在C++中,我们可以使用以下语法声明和初始化字符数组:
char array_name[array_size]; char array_name[] = "string_literal"; char array_name[] = { 'a', 'b', 'c', ... };
第一个语法是声明一个具有指定大小`array_size`的字符数组,但没有初始化。第二个语法声明一个字符数组并将一个字符串字面量赋值给该数组。第三个语法声明一个字符数组,并使用花括号初始化数组中的元素。
下面是一个示例代码:
#include <iostream> using namespace std; int main() { // 声明并初始化字符数组 char str1[20] = "Hello, world!"; // 长度为20的字符串,多余的空间被自动初始化为0 char str2[] = "Goodbye, world!"; // 长度为12的字符串,多余的空间被自动初始化为0 char str3[] = {'H', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', 'l', 'd', '\0'}; // 自定义的字符串,手动添加了结束符号\0 // 打印字符数组 cout << str1 << endl; cout << str2 << endl; cout << str3 << endl; return 0; }
在上面的代码中,我们声明了三个字符数组`str1`、`str2`和`str3`,并分别使用不同的方式对它们进行了初始化。然后我们打印这些字符数组的内容。注意,我们使用了`\0`作为字符串的结束符号。
访问和操作字符数组
我们可以使用下标运算符`[]`来访问和操作字符数组中的元素。下面是一些示例代码:
#include <iostream> using namespace std; int main() { // 访问字符数组的元素 char arr[] = {'H', 'e', 'l', 'l', 'o'}; cout << arr[0] << endl; // 输出H arr[4] = 'W'; // 将第五个元素修改为W cout << arr[4] << endl; // 输出W // 操作字符数组的元素 char str[] = "Hello, world!"; int len = strlen(str); // 获取字符串的长度 for (int i = 0; i < len; i++) { if (str[i] == ',') { // 如果遇到逗号,就将后面的字母反转 for (int j = i + 1; j < len; j++) { swap(str[j], str[j + 1]); } } } cout << str << endl; // 输出结果为:Hello,dlrow! return 0; } 在上面的代码中,我们首先演示了如何访问和修改字符数组的元素。然后我们演示了如何使用循环遍历字符数组并执行某些操作。在这个例子中,我们将逗号后面的字母反转了。