c语言中形参和实参的区别

2024-04-01 05:38:30 浏览

在C语言中,形参和实参是函数中的两个重要概念,它们的区别如下:

c语言中形参和实参的区别

存储位置不同:形参只在函数内部有效,函数调用结束后就会被释放,不会占用程序的存储空间;而实参在函数调用时会被复制到函数的栈空间中,占用程序的存储空间。

数据类型不同:形参和实参的数据类型必须一致,否则会导致编译错误或运行错误。

作用域不同:形参只在函数内部有效,函数外部无法访问;而实参在函数调用时可以从函数外部传递进来,也可以从函数内部传递到外部。

值传递和引用传递:C语言中的形参默认是值传递,即函数调用时实参的值会被复制到形参中,函数内部对形参的修改不会影响到实参;如果需要实现引用传递,则需要使用指针或引用类型的形参。

需要注意的是,在C语言中,形参和实参是函数中非常重要的概念,理解它们的区别对于编写正确的函数和调用函数非常重要。

实参:所谓实参就是实际在内存中开辟了的空间的变量参数。

形参:指的是函数的参数,之所以叫形参,是因为只有在函数被调用的时候才会给该变量在栈中开辟空间,并将实参拷贝给形参

C语言的形参,顾名思义就是形式参数,它是定义函数是,写在函数名称后面小括号里面的一系列参数定义,包括参数类型和参数名称,不同的参数用逗号分隔。特别注意的是,参数类型一定要明确,参数名称要清楚明了,要能望文知义,以方便调用处传递实参

实参与形参数据传递有两种方式:值传递与地址传递

地址传递的形式为 int &a=b;也就是我们所说的引用,但引用只有C++中有,所以C语言都是值传递的。函数实参与形参之间的数据传递方式是传递方式,在C语言中,数据传递方式有值传递和引用传递。

值传递:传值,实际是把实参的值赋值给行参,相当于copy。那么对行参的修改不会影响实参的值引用传递: 实际是传值的一种特殊方式只是他传递的是地址,不是普通的赋值,那么传地址以后,实参和行参都指向同一个对象,因此对形参的修改会影响到实参。

【1】形参并没有实际的意义,他是定义该参数的变量域(或类型)。

【2】实参是形参的一种特例,他是变量域中的一个有效值。

x就是形参,而(1,5)就是这个形参的取值范围,而从1到5的开区间任何一个实数都可以是实参,

即实参是确定的值,而形参是表示实参的取值范围

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。