-
2021-05-13 19:40:56
C语言函数的参数会出现在两个地方,分别是函数定义处和函数调用处,这两个地方的参数是有区别的。
形参(形式参数)在函数定义中出现的参数可以看做是一个占位符,它没有数据,只能等到函数被调用时接收传递进来的数据,所以称为形式参数,简称形参。实参(实际参数)函数被调用时给出的参数包含了实实在在的数据,会被函数内部的代码使用,所以称为实际参数,简称实参。形参和实参的功能是传递数据,发生函数调用时,实参的值会传递给形参。形参和实参的区别和联系形参变量只有在函数被调用时才会分配内存,调用结束后,立刻释放内存,所以形参变量只有在函数内部有效,不能在函数外部使用。实参可以是常量、变量、表达式、函数等,无论实参是何种类型的数据,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参,所以应该提前用赋值、输入等办法使实参获得确定值。实参和形参在数量上、类型上、顺序上必须严格一致,否则会发生“类型不匹配”的错误。当然,如果能够进行自动类型转换,或者进行了强制类型转换,那么实参类型也可以不同于形参类型。函数调用中发生的数据传递是单向的,只能把实参的值传递给形参,而不能把形参的值反向地传递给实参;换句话说,一旦完成数据的传递,实参和形参就再也没有瓜葛了,所以,在函数调用过程中,形参的值发生改变并不会影响实参。更多相关内容 -
必须知道的C语言知识细节:函数形参和实参的区别
2020-07-28 15:34:48C语言中函数形参和实参是十分重要的概念,初学者很容易混淆。 形参:顾名思义,形式参数,仅仅是声明了参数的类型和参数名称,未实际分配内存和赋值。 实参:实际参数,是指函数调用时,实际赋值和分配内存空间。 ...当你选择了一种语言,意味着你还选择了一组技术、一个社区。——Joshua Bloch
C语言中函数形参和实参是十分重要的概念,初学者很容易混淆。
形参:顾名思义,形式参数,仅仅是声明了参数的类型和参数名称,未实际分配内存和赋值。
实参:实际参数,是指函数调用时,实际赋值和分配内存空间。
例如:
int sum(int a, int b) { return a+b; } int main(void) { int c=1; sum(c,2); return 0; }
很明显,函数声明和定义时,sum(int a, int b) 其中a和b是形式参数,指明sum函数需要两个参数,并且参数的类型是整型。
当实际调用sum函数时sum(c,2), 其中变量c和常量2都是实际参数,实际参数具有真正的值和内存空间。调用时会给形式参数a和b分配内存空间,并且将实际参数c和常量2的值拷贝给形参指向的内存空间。
因此,总结下区别如下:
1.实参是函数调用时的实际参数值,形参是函数声明和定义时指定的参数名称。
2.实参值的类型必须和形参的类型相同或兼容。
3.实参和形参在函数实际调用时通过值传递方式发生联系,形参未调用时并不会分配空间和赋值,当调用时会分配空间,并且实参拷贝赋值给形参变量(值传递),实参值等于形参值。
4.函数内部只能访问形参值完成计算,无法直接访问实参。
5.函数调用结束后,形参占用的内存空间被释放,函数返回,实参仍然保留原来的内存空间和值。
其实做为一个学习者,有一个学习的氛围跟一个交流圈子特别重要这里我推荐一个C/C++基础交流583650410,不管你是小白还是转行人士欢迎入驻,大家一起交流成长。
-
js函数形参和实参的区别
2021-07-17 00:49:48参数有形参(parameter)和实参(argument)的区别,形参相当于函数中定义的变量,实参是在运行时的函数调用时传入的参数。 ** 例子:** 声明函数add时,a,b就是形参。调用函数add(1,2) 1,2就是实参。 function ...定义:
参数有形参(parameter)和实参(argument)的区别,形参相当于函数中定义的变量,实参是在运行时的函数调用时传入的参数。
例子:
声明函数add时,a,b就是形参。调用函数add(1,2) 1,2就是实参。function add(a,b) { return a + b }; add(1,2);
*注意:
- 通过实参调用函数的时候,传入函数里的是实参的副本,因此在函数里面修改参数值并不会对实参造成影响。
var b = [1, 2, 3] function test(b) { b[3] = 4 b = [100] } test(b) console.log(b, 'b');//[1,2,3,4]
-
C语言中函数形参与实参的区别
2021-10-02 22:56:10众所周知一个函数有两种参数,即形参和实参。那么究竟什么是形参什么是实参呢? 形参:在定义函数时指定的参数,在未出现函数调用时,他们并不占用内存中的存储单元。只有在发生函数调用时,函数中的形参才被分配...众所周知一个函数有两种参数,即形参和实参。那么究竟什么是形参什么是实参呢?
形参:在定义函数时指定的参数,在未出现函数调用时,他们并不占用内存中的存储单元。只有在发生函数调用时,函数中的形参才被分配内存单元。在函数调用结束后,形参所占用的内存单元也被释放。
实参:即你调用函数时传递的参数。实参可以是常量、变量、表达式。
注意:形参和实参实际上占用的是两份不同的存储单元。
形参和实参之间的传递
在c语言中,实参与形参的数据传递是“值传递”,单向传递,只能由实参传给形参,不能由形参传递给实参。形参的值如果发生改变,并不会改变主调函数的实参的值。
形参与实参的之间的传递分类
1、按值传递(实形无联系)
按传递就是平常编程中经常用到的,定义一个基本数据类型的变量,在调用某函数时把该变量作为函数的实参传递给函数。这种传递方式采用的是单向值传递,实形无联系,形参改变不影响实参。
2、按地址传递(通过操作形参可能会改变实参)
按地址传递主要出现在函数参数是指针变量、数组等的时候。
注意:
实质上用指针做函数参数的情况下,在调用函数时,将实参变量的传递给形参变量,采取的依然是单向值传递。如果在被调函数中只是单纯改变了形参指针变量的值,在函数调用结束后这些形参被销毁,是不会影响调用函数时传入实参指针变量值。
只有当你在被调函数中通过操作形参指针变量,去改变了指针指向变量的值时,才可以改变实参指针变量所指向变量的值。也只有这种情况下形参改变才可能影响实参。
实质上,指针操作起到了偷梁换柱的作用。
关于指针请自行了解。
-
jquery封装插件时匿名函数形参和实参的写法解释
2020-10-20 10:46:03本文主要介绍了jquery封装插件时匿名函数形参和实参的写法解释。具有很好的参考价值,下面跟着小编一起来看下吧 -
JS函数中形参和实参的区别
2022-04-17 16:09:331.形参就是相当于函数中定义的变量。 2.实参是在运行时的函数调用时传入的参数。 function fn(a, b) { //这里的a,b称为 形参,指定义的参数 console.log(a); //a=1 console.log(b); //b=2 } fn(1, 2) //这里的... -
【js基础】js中函数形参和实参个数不匹配问题
2022-05-14 21:24:081. js中函数形参和实参个数不匹配问题 参数个数 说明 实参个数=形参个数 输出正确结果 实参个数>形参个数 只取到形参的个数 实参个数<形参个数 多的形参定义为undefined,结果为NaN 2. 代码举例... -
C语言中形参和实参详解及实例代码
2020-12-26 08:05:48函数的参数分为形参和实参两种。在本小节中,进一步介绍形参、实参的特点和两者的关系。形参出现在函数定义中,在整个函数体内都可以使用,离开该函数则不能使用。实参出现在主调函数中,进入被调函数后,实参变量也... -
js的函数形参和实参详解
2020-03-29 12:15:10函数参数分为实参和形参。 形参就是在定义函数时,传递给函数的参数,被称为形参。 实参就是当函数被调用时,传给函数的参数,称为实参。 【例1】以下示例中,参数a和b就是形参,而调用函数中的2,3就是实参。 ... -
【C++】c++之函数形参和实参
2019-03-24 13:00:00c++之函数形参和实参 c++之函数形参和实参讲解 1、非地址型参数 在c++中实现模块化编程时,我们形成会遇到对自定义的函数模块传入参数的操作,即形参。这里主要讲解一个非地址型的形参。 不多说,先看代码: ... -
函数之形参和实参
2021-10-15 11:33:28函数 什么是函数? 函数的组成 -
形参和实参的区别
2022-07-12 15:44:49实际参数简称“实参”。在调用有参函数时,函数名后面括号中的参数称为“实际参数”,实参可以是常量、变量、...形参是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传入的参数。必须注意实参的 -
C语言--函数形参与实参详解
2019-04-29 17:18:05关于指针 32位编译器下指针字节数恒为4字节 64位编译器下指针字节数恒为8字节 ...栈区空间:在函数{}内部定义的变量称为局部变量,系统将局部变量内存分配在栈区,函数调用完毕后此块内存便被销毁。这里所谓的销... -
C++形参与实参的区别实例解析
2021-01-20 07:11:36本文以实例阐述了C++中形参与实参的区别,有助于读者加深对于C++形参与实参的认识。 形参出现在函数定义中,在整个函数体内都可以使用, 离开该函数则不能使用。实参出现在主调函数中,进入被调函数后,实参变量也不... -
C语言函数-形参和实参
2019-04-29 09:34:341.形参和实参的概念 形参(也叫形式参数) 在定义函数名和函数体的时候使用的参数,他没有数据,可以...2.形参和实参的区别与联系 形参和实参的区别: 1): 形参变量在函数未被调用时是不占内存空间的,只有在函数被... -
函数的形参与实参
2022-05-10 08:27:58无论实参是何种类型的量,在进行函数调用时,它们必须有确定的值,以便把这些值传送给形参。 形式参数是指函数名后括号中的变量。形式参数当函数调用完成之后就自动销毁了。因此形式参数只在函数中有效。 函数... -
函数的形参和实参
2020-04-22 21:39:11在函数getinfo() 的定义中,变量name和age 是一个形参 ——函数完成其工作所需的一项信息。在代码getinfo(‘westos’,11)中,值’westos’和11 是一个实参 。 实参是调用函数时传递给函数的信息。 调用函数时,将要... -
函数形参和实参个数不匹配的问题
2022-06-15 19:46:541.如果实参的个数和形参的个数一至 则正常输出结果2.如果实参的个数多余形参的个数 会取到形参的个数3.如果实参的个数小于形参的个数 多余的形参定义为undefined 最终的结果就是NaN4.形参可以看作是不用声明的变量 ... -
js函数形参和实参数量可以不一致
2020-05-25 11:09:13定义一个形参有多个的函数,并且定义传入不同数量的实参时,其中的db.collection(collectionName).find(){}方法中的attr,skipNum和pageSize分别指的是什么 find(collectionName,json1,json2,json3){ if(arguments.... -
编程大神一道题带你搞定Python函数中形参和实参问题
2020-12-08 13:22:49昨天在Python学习群里有位路人甲问了个Python函数中关于形参和实参一个很基础的问题,虽然很基础,但是对于很多小白来说不一定简单,反而会被搞得稀里糊涂。人生苦短,我用Python。为了解答大家的这个疑惑,小编在... -
C语言,函数形参与实参个数不一致问题
2022-05-09 08:59:08C语言,函数形参与实参个数不一致问题 最近阅读工程代码的时候,同一个函数,不同场景调用时,输入的实参个数不一样,但是编译却没有问题。查看函数的定义,相关的C文件里并没有给形参指定默认值,这就很奇怪了... -
C语言形参和实参的区别(非常详细)
2019-11-03 17:45:23C语言函数的参数会出现在两个地方,分别是函数定义处和函数调用处,这两个地方的参数是有区别的。 形参(形式参数) 在函数定义中出现的参数可以看做是一个占位符,它没有数据,只能等到函数被调用时接收传递进来... -
一道题带你搞定Python函数中形参和实参问题
2020-12-15 23:37:59昨天在Python学习群里有位路人甲问了个Python函数中关于形参和实参一个很基础的问题,虽然很基础,但是对于很多小白来说不一定简单,反而会被搞得稀里糊涂。人生苦短,我用Python。为了解答大家的这个疑惑,小编在... -
009、Python--函数及形参、实参
2022-03-10 18:28:20一、函数的语法结构 二、函数的定义与调用 三、函数的形参与实参--位置参数、关键字参数、默认参数、可变长参数 -
【形参和实参区别是什么】_实参_差别-大众养生网
2021-05-18 10:56:55现在很多大学将C语言作为必修课,如果想要精通学习C语言是比较...形参和实参区别形参出现在函数定义中,在整个函数体内都可以使用,离开该函数则不能使用。实参出现在主调函数中,进入被调函数后,实参变量也不能... -
JavaScript中函数的形参和实参
2020-08-22 10:34:13形参和实参是什么 function funName(形参){//定义函数时的参数叫做形参} funName(实参)//调用时给到的参数称为实参 定义可能有点苍白无力,那么我们用例子来说明 function text(a) { console.log('这里是传的&... -
c++之函数形参和实参
2019-03-24 13:00:00c++之函数形参和实参讲解 1、非地址型参数 在c++中实现模块化编程时,我们形成会遇到对自定义的函数模块传入参数的操作,即形参。这里主要讲解一个非地址型的形参。 不多说,先看代码: 1 #include <...