📜  C++中的数组和字符串(1)

📅  最后修改于: 2023-12-03 15:14:03.676000             🧑  作者: Mango

C++中的数组和字符串

数组

数组是C++中的一种数据结构,它可以用于存储一系列同类型的数据。在C++中,数组的定义方式为:

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

其中,数据类型表示数组中存储的数据类型,数组名为数组的名称,数组长度表示数组中元素的个数。例如,定义一个长度为5的整型数组可以使用以下代码:

int arr[5];

在数组中,每一个元素都可以通过下标访问到。下标从0开始,最大值为数组长度减一。例如,访问第三个元素可以使用以下代码:

int third_element = arr[2];

数组还可以作为函数参数传递。当数组作为参数传递时,函数不会对数组进行拷贝,而是直接使用原数组,因此对数组的操作会对原数组产生影响。例如,以下代码演示了如何在函数中修改数组:

void modify_array(int arr[], int len) {
    for(int i = 0; i < len; i++) {
        arr[i] = arr[i] * 2;
    }
}

int main() {
    int arr[5] = {1, 2, 3, 4, 5};
    modify_array(arr, 5);
    // arr中的元素变为 {2, 4, 6, 8, 10}
    return 0;
}
字符串

字符串是一组由字符组成的数据结构。在C++中,字符串可以使用char数组或者string类来表示。

char数组

char数组是一组由字符组成的数组,它以'\0'结尾表示字符串的结束。例如,以下代码定义了一个char数组来存储字符串:

char str[] = "hello world";

我们也可以通过逐个赋值来创建字符串:

char str[12];
str[0] = 'h';
str[1] = 'e';
str[2] = 'l';
str[3] = 'l';
str[4] = 'o';
str[5] = ' ';
str[6] = 'w';
str[7] = 'o';
str[8] = 'r';
str[9] = 'l';
str[10] = 'd';
str[11] = '\0';
string类

string类是C++中提供的字符串类,它可以方便地对字符串进行操作。例如,以下代码定义了一个string对象来存储字符串:

string str = "hello world";

我们可以使用string类的成员函数来对字符串进行操作:

string str1 = "hello";
string str2 = "world";
string str3 = str1 + " " + str2;   // 字符串拼接,结果为 "hello world"
int len = str3.length();          // 获取字符串长度,结果为 11
const char* c_str = str3.c_str(); // 获取C风格的字符串指针

总的来说,C++中的数组和字符串是非常基础也是非常重要的概念,程序员应该掌握它们的使用方法,并能够熟练地操作数组和字符串。