一维与二维数组的创建、初始化与使用
需积分: 10 149 浏览量
更新于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语言数组的关键。在实际编程中,数组被广泛用于各种数据存储和处理任务,如矩阵运算、字符串处理等。熟练运用数组能提高程序的效率和可读性。
113 浏览量
2022-11-23 上传
198 浏览量
2021-12-18 上传
162 浏览量
110 浏览量
128 浏览量
220 浏览量
2021-12-15 上传

神迹小卒
- 粉丝: 3485
最新资源
- 中英文版《我编程我快乐》电子书合集
- 掌握命令提示符编译Win32应用程序的步骤
- RPCA分解在MATLAB中的应用与示例代码
- FPGA开发板原理图大全:全面整理与分析
- 使用Swift实现多功能iOS视频播放器教程
- 系统窗口枚举与句柄获取及关闭操作详解
- Google Office工具访问新革命:Office Tools-crx插件
- 创新设计:简洁大方的可移动弹窗功能实现
- 官方Comet引擎存储库:加密器及扩展语言支持
- 在CentOS/RHEL系统上快速部署LNMP环境指南
- Android Studio开发的直线与弧线统计图代码
- iOS原生分享功能实现指南 - UIActivityViewController教程
- 快速查找Urban Dictionary单词定义的搜索插件
- Snipaste1.16.2:Windows10最强截图工具
- 掌握图片透明化与色彩调整技巧
- 探索里约热内卢:Android版Menu Rio应用程序全面指南