数组名作为函数参数详解 —— 指针退化及遍历应用示例
资料合集下载链接:
https://pan.quark.cn/s/472bbdfcd014
在C语言中,数组名作为函数参数传递是常见且重要的用法。理解数组名如何自动退化为指针,及如何通过函数参数访问和操作数组元素,对于正确编写函数尤为关键。本文结合课堂笔记,深入讲解数组名作为函数参数的特点与注意事项,并附上详细代码示例和运行结果,帮助你全面掌握这一知识点。
1. 数组名作为函数参数的本质
数组名在表达式中通常会自动转换为指向数组首元素的指针。比如,数组名 arr
其实等价于 &arr[0]
,它是一个指向第一个元素的地址。
要点:
- 传递数组名给函数,实际上是传递了数组首元素的地址。
- 在函数参数中,数组形参会被编译器自动退化为指针类型。
- 形参虽然是指针,但我们仍以“数组”的方式访问元素。
- 传递数组名时,通常还需传入数组长度,帮助函数知道访问多少元素。
2. 示例代码:打印数组元素
下面的示例演示了如何定义一个数组,计算元素个数,然后将数组名和长度传递给函数,在函数内遍历并打印数组元素。
#include <stdio.h>// 函数声明:打印数组元素,形参为指针和元素个数
void printArray(const int *arr, int size) {