C语言 形参、实参

定义

形参

形式上的参数,没有确定的值

实参

实际存在的,已经确定的参数,常量,变量,表达式,都是实参

区别

实参的值不随形参的变化而变化

在C语言中,数据传送是单向的,即只能把实参的值值传递给形参,但形参的变化不会改变实参的值,我们可以简单理解,就相当于把实参的值 复制给了另一个数(形参),而另一个数的改变不会改变原来数(实参)的值,正规来说:他们在内存中位于不同的位置,形参将实参的内容复制一份,在该函数运行结束的时候形参被释放,而实参内容不会改变。

实参传递给形参的参数个数类型和顺序都应相同

实参传递给形参的参数个数类型和顺序都应相同,否则会系统强制转换,出现数据丢失或者 "类型不匹配"的错误。

如果实参是数组名,那么形参传递的之就是地址的值

在C里面 是无法做到形参改变 实参值同步改变的

如果要用函数改变实参的值,可以用指针作为参数来改变。

形参和实参虽然可以同名,但它们之间是相互独立的,互不影响,因为实参在函数外部有效,而形参在函数内部有效

相关推荐
念恒123067 分钟前
进程控制---自定义Shell
linux·c语言
程序员JerrySUN2 小时前
Jetson边缘嵌入式实战课程第二讲:JetPack 和 SDK Manager 是什么
c语言·开发语言·网络·udp·音视频
我不是懒洋洋2 小时前
布谷鸟过滤器:比布隆过滤器更优雅的判重方案
c语言·经验分享
忡黑梨2 小时前
eNSP_从直连到BGP全网互通
c语言·网络·数据结构·python·算法·网络安全
handler014 小时前
Git 核心指令速查
linux·c语言·c++·笔记·git·学习
学会去珍惜4 小时前
学会C语言可以做什么
c语言·网络编程·游戏开发·嵌入式系统·系统编程
『昊纸』℃5 小时前
Mac上编译C语言的简易方法
c语言·mac·教程·xcode·编译
代码中介商5 小时前
C语言核心知识完全回顾:从数据类型到动态内存管理
c语言·开发语言
xiaobobo33305 小时前
c语言源文件中#include包含头文件的起始路径是哪里?
c语言·头文件包含·起始路径·起始点
jimy16 小时前
C语言中的 “size_t ”类型
c语言·开发语言