一维与二维数组的创建、初始化与使用
需积分: 10 47 浏览量
更新于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 浏览量
221 浏览量
2021-12-15 上传

神迹小卒
- 粉丝: 3485
最新资源
- CodeVisionAVR C库详解:全方位涵盖C函数集
- PS/2鼠标与键盘接口详解:技术概览与协议介绍
- 病毒编程基础:创建与逻辑解析
- ISO 9660详解:规范、实现与扩展
- Intel AGP 2.0接口规范详解与关键要素
- 深入解析:WAVE音频文件格式
- 北京大学计算机考研经验与心得
- 企业GIS与SOA:架构、服务与实践
- 详解Socket编程:原理、转换与地址结构
- MPI并行编程入门与高级特性探索
- C#入门到精通:从语言概述到面向对象编程
- Windows BMP文件格式详解
- 精通BIOS设置与调整:电脑优化秘籍
- C++文件操作与流的使用详解
- Ajax+Jsp+Access实现唯一性校验教程
- SOA与Web服务:降低IT复杂性的关键