前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C语言形参和实参的区别?

C语言形参和实参的区别?

原创
作者头像
用户8639654
修改2021-07-22 14:24:33
1.7K0
修改2021-07-22 14:24:33
举报
文章被收录于专栏:云计算运维

实参是程序中已经分配了内存空间的参数,它可以被赋予一个具体的值,比如常数、数组、地址(指针),也可以是一个变量名、数组名或表达式,当然也包括指针变量。

形参则是你在写一个被调函数时,为了说明用到的自变量的类型、要进行什么操作而定义的,在调用函数前它不会被分配内存空间,更不会被赋予具体的值。

调用函数时,形参会被分配一个新的内存空间,实参的值就会被“复制”进去,让它在被调函数中参与运算。而实参本身不参与这个运算,它仅仅起到一个传递值的作用(不过在C++中可以用&改变实参的值)。如果参数的形式是指针,那么“复制”的就是地址。

举个非常简单的例子:

代码语言:javascript
复制
int func1(int a)
{
	a++;
	return a;
}

int main()
{
	int b = 5;
	printf("func1 = %d, ", func1(b));
	printf("b = %d\n", b);
	return 0;
}

输出func1 = 6, b = 5,实参b的值并没有改变。

作者:「已注销」 链接:https://www.zhihu.com/question/276730270/answer/389068813 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档