数组作为函数参数

时间:2022-10-26 22:55:10

一、函数参数有实际参数和形式参数之分。

实际参数:调用函数时,函数名后面括号的时实际参数,实际参数是表达式计算的结果,并且被复制给函数的形式参数。

形式参数:定义参数时,函数名后面括号中的变量名为形式参数,在函数调用之前,传递给函数的值将被复制到这些形式参数里面。

二、数组作实参

(1)当数组作实参时,只传递数组的地址,而表示将整个数组赋值到函数中。当用数组名为实参调用函数时,指向这数组的第一个元素的指针就被传递到函数中。

int Count[10];

没有任何下标的数组名就是一个指向该数组第一个元素的指针。

(2)编写函数,求出小于或等于lim的所有素数,并放在aa[]数组里。

#include<stdio.h>

int fun(int lim, int aa[]) //自定义fun函数
{
int i, j = 0, k = 0; //定义数组下标循环控制
for (i = 2; i < lim; i++) //素数判断
{
for (j = 2; j < i; j++)
if (i%j == 0)
break;
if (j == i)
aa[k++] = i;
}
return k;//返回值为k
}

int main()
{
int aa[100], i;
fun(100, aa); //调用自定义函数
printf("100内的素数:\n");
for (i = 0; i < 25; i++) //循环数组内所有素数
{
printf("%d\t", aa[i]); //输出满足条件的数
}
printf("\n");
return 0;
}

结果如下:

数组作为函数参数