### C++初学者入门指南第四篇:数组、字符串与指针 #### 一、数组的基础概念及使用 **数组**是一系列相同类型的变量的集合,它们共享同一个名称。数组能够帮助程序员有效地处理一系列数据,例如学生的分数、员工的工资等。 - **一维数组**:最常见的一种数组类型,它由一系列相同类型的元素组成。例如,`int sample[10];`定义了一个包含10个整数的数组。 - **多维数组**:虽然一维数组非常常用,但在某些情况下,我们需要使用多维数组来组织更为复杂的数据结构。例如,`int matrix[5][5];`定义了一个5x5的二维数组,可以用来表示一个矩阵或棋盘。 **声明和初始化一维数组**的语法如下: ```cpp 类型名称 数组名[数组大小]; ``` 其中,“类型名称”表示数组中元素的数据类型,“数组名”是我们给数组起的名字,“数组大小”则指定了数组能容纳多少个元素。例如: ```cpp int numbers[10]; // 定义一个名为numbers的整数数组,它可以存放10个整数 ``` **访问数组元素**时,需要使用索引。在C++中,数组索引是从0开始的,即第一个元素的索引为0,最后一个元素的索引为数组大小减1。例如: ```cpp int values[5]; // 声明一个整数数组 values[0] = 10; // 给数组的第一个元素赋值 values[4] = 20; // 给数组的最后一个元素赋值 ``` #### 二、数组的应用实例 下面是一个简单的示例程序,该程序演示了如何使用数组来存储数据,并计算这些数据的平均值以及找出最大值和最小值: ```cpp #include <iostream> int main() { int i, avg, min_val, max_val; int nums[10]; nums[0] = 10; nums[1] = 18; nums[2] = 75; nums[3] = 0; nums[4] = 1; nums[5] = 56; nums[6] = 100; nums[7] = 12; nums[8] = -19; nums[9] = 88; // 计算平均值 avg = 0; for (i = 0; i < 10; i++) avg += nums[i]; avg /= 10; std::cout << "Average is " << avg << '\n'; // 找出最大值和最小值 min_val = max_val = nums[0]; for (i = 1; i < 10; i++) { if (nums[i] < min_val) min_val = nums[i]; if (nums[i] > max_val) max_val = nums[i]; } std::cout << "Minimum value is " << min_val << '\n'; std::cout << "Maximum value is " << max_val << '\n'; return 0; } ``` #### 三、字符串与字符数组 **字符串**在C++中并不是一种基本的数据类型,而是通过字符数组来实现的。一个字符串就是一个以空字符(`\0`)结尾的字符序列。例如: ```cpp char name[10] = "Hello"; // 定义一个字符数组并初始化为"Hello" ``` 这里需要注意的是,虽然显式地为`name`分配了10个字符的空间,但实际上只用了5个字符来存储字符串“Hello”。这是因为字符串的结束标志`\0`也被占用了1个字符的位置。 #### 四、指针与数组的关系 **指针**是C++中的一个重要概念,它保存了内存地址。指针与数组之间存在着密切的联系: - **指针作为数组名**:当我们将数组名作为函数参数传递时,实际上传递的是指向数组首元素的指针。 - **通过指针访问数组元素**:我们可以通过指针来访问数组中的元素。例如,如果`int arr[5];`,那么`int *ptr = arr;`将`ptr`设置为指向`arr`的第一个元素。 数组、字符串和指针是C++中非常重要的概念,掌握它们对于成为一名熟练的C++程序员至关重要。
剩余30页未读,继续阅读
- 粉丝: 111
- 资源: 55
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助