首页 分享 【C语言 形参,实参】傻傻分不清楚?你对函数的调用知多少?

【C语言 形参,实参】傻傻分不清楚?你对函数的调用知多少?

来源:花匠小妙招 时间:2024-11-26 14:10

最新推荐文章于 2022-11-24 10:52:01 发布

algorithm-wang 于 2019-10-26 23:25:59 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

cocowy的编程之旅

前言

曾几何时,一直对函数里参数的调用搞不清楚,形参还是实参?调用函数后为何只能返回值?
这些问题在我初学C语言的时候一直感到很迷惑,故记之已给后来者避坑。

首先我们看一段这样的代码:

void swap(int a,int b); int main() { int a=5; int b=6; swap(a,b); printf("a=%d b=%d",a,b); return 0; } void swap(int a,int b){ int t=a; a=b; b=t; }

123456789101112131415161718

在这里插入图片描述
大家看到结果代码运行结果后自然会产生疑问,我不是通过调用swap函数进行参数间的替换了嘛?为什么运行结果依旧是原来主函数定义的a,b值呢?

其实这是因为C语言的结构特性决定的,容我慢慢道来。
这是因为定义函数的时候a,b为形参不参与计算,而在主函数调用其他函数时a,b参数的值传递给了swap函数。
值得注意的是,a,b函数在swap函数调用后并没有改变,因为每个函数都有自己的变量空间参数也位于这个独立的空间中,和其他参数没有任何关系。正是因为如此,在swap函数里面发生的任何事情都与主函数a,b两个参数无关。而且在swap函数里面没有返回值(return)传递给主函数,导致两个函数中的参数发生的关系互不影响。

在这里插入图片描述

相关知识

Python函数知识集锦(一)
3012C语言
R语言的apply族函数
MOOC —— Python语言基础与应用 by 北京大学 第六章 计算和控制流(二)
一个简单的C语言程序(详解)
花卉在夏季的生长期or休眠期,别在傻傻分不清楚?
C语言语法规范
函数
广东海洋大学C程序设计试卷(第1套)
用C语言实现情人节红玫瑰

网址: 【C语言 形参,实参】傻傻分不清楚?你对函数的调用知多少? https://www.huajiangbk.com/newsview742176.html

所属分类:花卉
上一篇: 思雨花染长溪字体下载
下一篇: 妙笔生花字体下载

推荐分享