形参和实参有感(swap函数为例)

这几天偶然在翻c的笔记,回头看到了我关于形参和实参的一些笔记,突然感觉是一颗子弹正中眉心。其实有时候回头看一眼自己的笔记会更能加深这个知识点的理解。

很多时候我们都是在函数调用的时候来用到实参和形参,但盲目按照代码一贯打下去,我们是一知半解的,下次遇到同样的题,你可能凭借记忆力来可以复述一次代码,但想要完全理解,是需要自己对形参和实参有个确切的概念的。

比如来说,我们可以引入一个交换函数(swap)的例子来简单介绍一下

void swap(int x, int y)  //x,y就是形参
{
	int z = 0;
	z = x;
	x = y;
	y = z;
}
void swap2(int* px, int* py)
{
	int z = *px;
	*px = *py;
	*py = z;
}
int main() {
	int a = 0;
	int b = 0;   //a,b就是实参
	scanf("%d,%d", &a, &b);
	printf("交换前是:a=%d b=%d\n", a, b);
	swap2(&a, &b);
	printf("交换后是:a=%d b=%d\n", a, b);
	return 0;
}

实参

字面意思,就是真实传给函数的参数,可以是常量、变量、表达式、函数。

无论实参是什么类型,在进行函数调用的时候,都是要有具体值来确定的。

形参

在函数未被调用时,形参就没有开辟内存空间。

形参相当于是实参的一份临时拷贝。(就是说假装先有参数给你调用,但它真正意义上的存在是在实例化之后才出现的)

只有说在函数调用的时候进行实例化,才开辟内存空间。

  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值