传入函数的数组成了什么?
· 当我们向一段函数传入数组变量,参数接收到的是值,如果我们传入指针时,参数接收到的是也是值(一个地址);
· 如果传入函数的是一个普通变量,它接收到的是一个值
· 如果传入函数的是一个指针,它接收到的也是一个值(地址)
· 如果传入的是一个数组,它接收到的是什么?
我们来看个例子
#include <stdio.h>
void minmax(int a[], int len, int *min, int *max);
int main(void)
{
int a[] = {1,2,3,4,5,6,7,8,9,12,13,14,16,17,21,23,55,};
int min,max;
minmax(a,sizeof(a)/sizeof(a[0]),&min,&max);
printf("min=%d,max=%d\n",min,max);
return 0;
}
void minmax(int a[], int len, int *min, int *max)
{
int i;
*min = *max =a[0];
for (i=1;i<len;i++){
if(a[i]<*min){
*min =a[i];
}
if(a[i]>*max){
*max =a[i];
}
}
}
分别在main函数和minmax函数里打印出sizeof(a)
的大小
#include <stdio.h>
/*
取出一组数组里的最小的和最大的值
*/
void minmax(int a[],