一维与二维数组的创建、初始化与使用

需积分: 10 1 下载量 174 浏览量 更新于2024-08-30 收藏 730KB PDF 举报
"本章详细介绍了C语言中的数组,包括一维数组和二维数组的创建、初始化、使用以及它们在内存中的存储方式。此外,还提到了数组作为函数参数的用法和两个数组应用实例——三子棋和扫雷游戏。" 在C语言中,数组是一种非常基础且重要的数据结构,它允许我们存储一组相同类型的元素。数组的创建涉及到以下几个方面: 1. **一维数组的创建**:创建一维数组时,我们需要指定元素的类型和数组的大小。例如,`int arr[10]` 创建了一个包含10个整数的数组。注意,数组的大小必须是常量表达式,不能是变量。 2. **一维数组的初始化**:初始化数组可以在声明时同时为数组的所有或部分元素赋予初值。如 `int arr[5] = {1, 2, 3, 4, 5}`。如果不指定数组大小,但提供了初始化值,那么数组的大小将由初始化值的数量决定。 3. **一维数组的使用**:通过下标访问数组元素,如 `arr[i]`。数组的下标从0开始,数组的大小可以通过 `sizeof(arr) / sizeof(arr[0])` 计算得出。 4. **一维数组在内存中的存储**:数组在内存中是连续存储的,这意味着所有数组元素都紧挨着存储。例如,`int arr1[3] = {1, 2, 3}`,`arr1[0]` 存储1,`arr1[1]` 存储2,`arr1[2]` 存储3。 5. **二维数组的创建和初始化**:二维数组可以看作是多个一维数组的集合。例如,`int arr2[2][3]` 创建了一个2行3列的二维数组。初始化二维数组时,可以逐行初始化。 6. **二维数组的使用和内存存储**:二维数组的访问同样通过下标完成,如 `arr2[i][j]`。内存中,二维数组的元素按行存储。`arr2[0][0]`、`arr2[0][1]`、`arr2[0][2]`、`arr2[1][0]` 等依次存储。 7. **数组作为函数参数**:数组名作为函数参数时,实际上传递的是数组首元素的地址。这意味着在函数内部可以修改数组的元素。 8. **数组应用实例**:书中给出了两个实例,一个是三子棋游戏,利用数组存储棋盘状态;另一个是扫雷游戏,可能涉及二维数组来表示地图。 理解这些概念是掌握C语言数组的关键。在实际编程中,数组被广泛用于各种数据存储和处理任务,如矩阵运算、字符串处理等。熟练运用数组能提高程序的效率和可读性。