C程序设计:第五章详解-数组与指针
版权申诉
136 浏览量
更新于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语言中的数组和指针是至关重要的,因为它们是许多复杂数据结构和算法的基础,如动态数组、字符串处理、矩阵操作等。指针将在后续的章节中进一步讨论,它提供了对内存的直接访问,使得我们可以更灵活地操作数据。
123 浏览量
点击了解资源详情
点击了解资源详情
2022-06-14 上传
105 浏览量
129 浏览量
2021-09-20 上传
2021-09-28 上传

matlab大师
- 粉丝: 2863
最新资源
- 第七届ITAT移动互联网站设计决赛试题分享
- C语言实现52张牌随机分发及排序方法
- VS2008智能提示补丁,让英文变中文的解决办法
- SISTEMA-LACONQUISTA:深入解析Windows窗体窗口应用开发
- STM32F407单片机RTC闹钟唤醒功能实验教程
- CRRedist2005 X86:水晶报表下载辅助文件解析
- Android开发中调用WebService的简易实例教程
- React Native与Electron融合:打造桌面端PWA应用
- fping:高效的网络端口批量测试工具
- 深入解析Spring与MyBatis的整合配置及问题答疑
- 深入探讨Struts2与Spring整合技术实现
- Java游戏项目开发实战:游戏项目1深入解析
- STM32掌机测试教程与资源分享
- Win7内置搜索小工具:百度与谷歌搜索集成
- JWPlayer JavaScript API下载指南
- 精易模块V5.22新特性与功能更新解析