C程序设计:第五章详解-数组与指针
版权申诉
33 浏览量
更新于2024-07-04
收藏 314KB PDF 举报
"C语言程序设计的第六讲,主要探讨了第五章——数组与指针。本章节深入讲解了数组的定义、初始化、存储方式以及数组名的特性,并通过实例展示了如何查找一维数组中的最大值和最小值。"
在C语言中,数组是一种重要的数据结构,它允许我们存储多个相同类型的元素。数组由多个同类型的数据对象组成,这些对象在内存中是连续存储的。例如,声明一个包含10个整数的数组`int i_a[10];`,或根据常量定义数组长度,如`const int n=34; double d_a[n];`。
数组的大小是固定的,在声明时就需要指定。一旦定义,其大小无法改变。例如,在函数内部,可以声明一个基于传入参数大小的数组,如`void f(int n, int m) { int b[n]; ... }`,但请注意,这样做仅限于局部变量,且在C99标准及以上才被支持。
初始化数组时,可以使用花括号{}来设置初始值。例如,`inta[4]={1,1,2,4};` 或 `int c[]={1,2,3,4,5,6,7,8};`。不过,这样的初始化仅限于定义时,不能用在普通的赋值语句中。如果未提供足够的初始值,未指定的元素会被自动初始化为类型对应的默认值(对于整型通常是0)。错误的初始化示例,如尝试初始化超过数组大小的元素,会导致编译错误。
数组名实际上是指向数组首元素的常量指针,这意味着它不能被赋值。例如,`a`是数组`arr`的地址,`a[0]`则是数组的第一个元素。因此,`sizeof(a)`返回整个数组的大小,而`sizeof(a[0])`返回单个元素的大小。数组元素个数可以通过`sizeof(a) / sizeof(a[0])`计算得出。
在实际编程中,数组的使用非常广泛。例如,寻找数组中的最大值和最小值。以下是一个简单的示例:
```cpp
const int SIZE = 15;
int main() {
int arr[SIZE], i, high, low;
for (i = 0; i < SIZE; i++)
arr[i] = rand() % 100;
// 省略输出数组元素的部分
high = arr[0];
low = arr[0];
for (i = 1; i < SIZE; i++) {
if (arr[i] > high)
high = arr[i];
else if (arr[i] < low)
low = arr[i];
}
// 省略输出最高和最低值的部分
}
```
在这个例子中,数组`arr`首先被填充了随机数,然后通过遍历找到其中的最大值`high`和最小值`low`。
理解C语言中的数组和指针是至关重要的,因为它们是许多复杂数据结构和算法的基础,如动态数组、字符串处理、矩阵操作等。指针将在后续的章节中进一步讨论,它提供了对内存的直接访问,使得我们可以更灵活地操作数据。
2021-09-19 上传
2022-06-14 上传
2022-06-14 上传
2008-11-21 上传
2021-09-28 上传
2022-09-21 上传
matlab大师
- 粉丝: 2706
- 资源: 8万+
最新资源
- Aspose资源包:转PDF无水印学习工具
- Go语言控制台输入输出操作教程
- 红外遥控报警器原理及应用详解下载
- 控制卷筒纸侧面位置的先进装置技术解析
- 易语言加解密例程源码详解与实践
- SpringMVC客户管理系统:Hibernate与Bootstrap集成实践
- 深入理解JavaScript Set与WeakSet的使用
- 深入解析接收存储及发送装置的广播技术方法
- zyString模块1.0源码公开-易语言编程利器
- Android记分板UI设计:SimpleScoreboard的简洁与高效
- 量子网格列设置存储组件:开源解决方案
- 全面技术源码合集:CcVita Php Check v1.1
- 中军创易语言抢购软件:付款功能解析
- Python手动实现图像滤波教程
- MATLAB源代码实现基于DFT的量子传输分析
- 开源程序Hukoch.exe:简化食谱管理与导入功能