一、概念
/*
如果传递的数组名称, 其实传递的是地址
如果传递的地址, 其实传递的是指针
指针在64 编译环境 占8个字节
注意 : 如果数组作为形参,那么在函数中就不能通过数组的名称 计算出数组元素的个数
因为系统会自动将 数组形参转换为指针, 指针占用8个字节
*/
二、代码
#include <stdio.h>
//void printfArray(int values[]);
void printfArray(int values[],int length);
int main()
{
// 要求定义一个函数, 实现遍历数组. (只要别人传递数组给函数,就要求输出数组中所有的元素的值)
int nums[5] = {1,3,5,6,7};
int length = sizeof(nums) / sizeof(nums[0]);
printfArray(nums,length); // 数组名称 就是 数组的地址
return 0;
}
//void printfArray(int values[])
void printfArray(int values[],int length)
{
// 1.动态计算数组的元素个数
// int length = sizeof(values) / sizeof(values[0]);
for (int i = 0; i < length; i++) {
printf("values[%i] = %i\n",i,values[i]);
}
}