实参:即你调用函数时传递的参数。实参可以是常量、变量、表达式、函数调用的返回值。
形参:在定义函数时指定的参数,在未出现函数调用时,他们并不占用内存中的存储单元。只有在发生函数调用时,函数中的形参才被分配内存单元。在函数调用结束后,形参所占用的内存单元也被释放。
/***函数的实参类型***/
#include <stdio.h>
int fun(int x);
int main()
{
int a;
printf("%d\n",fun(10));//常量
scanf("%d",&a);
printf("%d\n",fun(a));//变量
printf("%d\n",fun(a+5));//表达式
printf("%d\n",fun(fun(a)));//函数调用的返回值
return 0;
}
int fun(int x)
{
int sum=0,i;
for(i=0;i<=x;i++)
{
sum+=i;
}
return sum;
}
代码运行结果:
在函数被调用时,实参的值传给了形参,形参此时会生成了一个地址来存放这个值,然后调用结束后这个地址就自动释放了,即临时存储空间。