函数的参数(形参与实参)的理解
函数的参数
实际参数(实参)
真实传给函数的参数,叫实参。实参可以是:常量、变量、表达式、函数等。无论实参是何种类型的量,在进行函数调用时,它们必须有确定的值,以便把这些值传送给形参。
形式参数(形参)
形式参数是指函数名后括号中的变量。因为形式参数只有在函数被调用的过程中才实例化(分配内存单元),所以叫形式参数。形式参数当函数调用完成之后就自动销毁了。因此形式参数只在函数中有效。
我们写一段代码感受一下:
#include<stdio.h>
#include<stdlib.h>
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拥有自己的空间,同时拥有了和实参一模一样的内容。所以我们可以 简单的认为:形参实例化之后其实相当于实参的一份临时拷贝。
函数的参数(形参与实参)的理解相关推荐
- 函数的参数(形参与实参)—理解
函数的参数 实际参数(实参) 实参可以是常量.变量或表达式;真实传给函数的参数,叫实参.实参可以是:常量.变量.表达式.函数等.无论实参是何种类型的量,在进行函数调用时,它们必须有确定的值,以便把这些 ...
- java形参列表怎么理解_关于Java中形参与实参的理解
今天阅读了一个写的非常棒的博文,通过此博文再次复习了Java中参数传递的知识(即值传递与引用传递的区别).参考网站http://www.cnblogs.com/binyue/p/3862276.htm ...
- JavaScript--函数--参数--事件函数的关系--形参和实参
函数 概念:函数就是代码块,可以多次调用,很容易实现模块化编程. 好处: 1)减少代码开发时间 2) 模块化编程 3) 可以重复使用 函数的定义: 形式1 function fn(){ // 函数体内 ...
- js中的对象、函数定义以及形参和实参
一.对象属性的两种写法 1.点语法 点语法的属性值不加双引号,运用时不能使用变量 2.中括号的写法 (1)中括号写法obj["key"]=value;必须有双引号,原因是在key这 ...
- js函数中的形参和实参
形参和实参是存在一种引用关系的,就好比变量中的引用关系.我们都知道,变量中的引用关系跟它们的值有关. 当值为原始类型时(string,number,boolean,int等等),var a=b是各自引 ...
- 深入理解函数的参数——实际参数(实参)和形式参数(形参)
目录 初步了解函数的参数 实际参数 形式参数 深入学习 初步了解函数的参数 函数是我们编写程序必定会用到的,但是我们真的有那么了解它吗?今天就让我们从形参和实参的角度深入学习函数. 接下来让我们上一个 ...
- 函数基础——形参和实参
文章目录 函数参数的两大分类 形参和实参的具体使用 位置参数 关键字参数 默认参数 可变长参数 *号和**号在实参中的使用 组合使用 函数参数的两大分类 形式参数:在函数定义阶段括号内声明的参数就叫形 ...
- python形参和实参同名_一道题带你搞定Python函数中形参和实参问题
昨天在Python学习群里有位路人甲问了个Python函数中关于形参和实参一个很基础的问题,虽然很基础,但是对于很多小白来说不一定简单,反而会被搞得稀里糊涂.人生苦短,我用Python. 为了解答大家 ...
- python自定义函数参数_python自定义函数的参数之四种表现形式
(1)def a(x,y):print x,y 这是最常见的定义方式,调用该函数,a(1,2)则x取1,y取2,形参与实参相对应,如果a(1)或者a(1,2,3)则会报错 (2)def a(x,y=3 ...
最新文章
- Python实现多行数据读入
- linux系统日志_如何使用 Linux Cockpit 来管理系统性能 | Linux 中国
- php实现服务器文件同步,PHPstorm配置同步服务器文件
- OSS音频编程概述(DSP部分)
- 虚幻引擎4中的移动设备分析插件
- Linux 双网卡绑定方法
- 数据科学 IPython 笔记本 8.8 直方图,分箱和密度
- Java编程:哈希表
- rmi 反序列化漏洞_Java反序列化漏洞自动挖掘方法
- 分析一个在高并发下的财务支付锁的问题
- 《css权威指南》笔记
- ArcGIS教程 - 5 地图可视化
- 计算机基础知识200分选择题,计算机基础考试题库及答案
- ForkJoinPool入门篇
- 我国嵌入式技术及应用现状分析
- matlab读取wav文件
- 基于 Self-hosted Debug 的调试
- 嵌入式linux 从u盘启动,嵌入式 linux中dd命令[用于制作U盘启动盘的神奇的命令]
- python launcher卸载后蓝屏_大毒瘤!卸载WeGame解决XPS 15蓝屏问题
- 大型网站存储瓶颈(广义水平拆分)
热门文章
- 安森美为何「上热搜」?汽车业务增量背后的隐忧已经出现
- DNA 4. SCI 文章中基因组的突变信号(maftools)
- 移动电源/便携式汽车应急启动电源UKCA/CE认证
- 在线抓包工具Whistle
- [转]经验分享:微信小程序外包接单常见问题及流程
- 干货分享:小鸟云虚拟主机如何绑定域名及解析域名?
- No qualifying bean of type 'com.xxx.xx.service.xxService' available: expected at leas
- html腾讯视频组件,3.腾讯视频组件
- java 中0x的数值表示方式 本质上是什么意思?
- STC15f2k60s2C语言定时器2,STC15F2K60S2 定时器2测试C.doc