1.什么是形式参数
“自定义函数中的“形参”全称为形式参数 由于它不是实际存在变量,所以又称虚拟变量。实参和形参可以重名。”
2.形式参数的作用域
函数的形式参数的作用域为本函数。
形式参数是在定义函数名和函数体的时候使用的,目的是用来接收调用该函数时传入的参数。
3.形式参数的作用
其作用是实现主调函数与被调函数之间的联系,通常将函数所处理的数据,影响函数功能的因素或者函数处理的结果作为形参。
形式参数不是实际存在变量,只有在程序执行过程中调用了函数,形式参数才有可能得到具体的值,并参与运算求得函数值。
形式参数具体案例
1.编程案例
#include <stdio.h>
int add (int x,int y)
{
int set1;
set1=x+y;
return set1;
}
int main ()
{
int data1=1;
int data2=2;
int set;
set =add(data1,data2);
printf("set=%d\n",set);
return 0;
}
运行结果:
运行成功达到了我们的目的。
那么我如果我们在main()函数中去打印set1的值可以吗?
显然是不行的,
因为在函数调用结束时函数里的形式变量会自动释放。
数组作形参
1.一维数组作形参
include <stdio.h>
void PrintArray (int array[],int len ) // 形式参数中没有数组的概念即使定义了数组的大小也无效
//传递的是一个地址,是数组的首地址
{
int i;
for(i=0;i<len;i++){
printf("%d ",array[i]);
}
}
int main ()
{
int len ;
int array[]={1,2,3,4,5,6};
len=sizeof(array)/sizeof(array[0]); //计算出元素个数
// PrintArray(array,len);
PrintArray(&array[0],len);
return 0;
}
运行结果:
2.二维数组做形参
#include <stdio.h>
void PrintArray (int array[][4],int hang,int lie ) //二维数组做形参不仅要注意数组类型还要注意有几个一维数组
{
int i;
int j;
for(i=0;i<lie;i++){
for(j=0;j<hang;j++){
printf("%d ",array[i][j]);
}
}
}
int main ()
{
int array[3][4]={1,2,3,4,
5,6,7,8,
9,10,11,12
};
PrintArray(array,4,3);
return 0;
}
运行结果: