菜鸟笔记
提升您的技术认知

函数的形参和实参-ag真人游戏

实际参数(实参)

真实传给函数的参数,叫实参。实参可以是:常量、变量、表达式、函数等。无论实参是何种类型的量,在进行函数调用时,它们必须有确定的值,以便把这些值传送给形参。

形式参数(形参)

形式参数是指函数名后括号中的变量。因为形式参数只有在函数被调用的过程中才实例化(分配内存单元),所以叫形式参数。形式参数当函数调用完成之后就自动销毁了。因此形式参数只在函数中有效。

我们写一段代码感受一下:

#include
#include
void swap1(int x, int y)
{
	int tmp = 0;
	tmp = x;
	x = y;
	y = tmp;
}
void swap2(int *px, int *py)
{
	int tmp = 0;
	tmp = *px;
	*px = *py;
	*py = tmp;
}
int main()
{
	int num1 = 1;
	int num2 = 2;
	swap1(num1, num2);
	printf("%d %d\n", num1, num2);
	swap2(&num1, &num2);
	printf("%d %d\n", num1, num2);
	system("pause");
	return 0;
}

输出结果:

上面swap1和swap2函数中的参数想x,y,px,py都是形式参数。在main函数中传给swap1的num1和num2和传 给swap2函数的&num1,&num2是实际参数。

让我们对函数的形参与实参进行分析:

代码对应的内存分配:

这里可以看到swap1函数在调用的时候,x,y拥有自己的空间,同时拥有了和实参一模一样的内容。所以我们可以 简单的认为:形参实例化之后其实相当于实参的一份临时拷贝。

网站地图