C语言 形参、实参

定义

形参

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

实参

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

区别

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

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

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

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

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

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

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

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

相关推荐
SHARK_pssm29 分钟前
【数据结构——顺序表】
c语言·数据结构·经验分享·笔记
小柯博客3 小时前
Amazon Kinesis Video Streams C WebRTC SDK 开发实战
c语言·开发语言·网络·stm32·嵌入式硬件·webrtc·yocto
上弦月-编程3 小时前
C语言位运算:从入门到精通
运维·c语言·开发语言·vscode·算法·leetcode·极限编程
minglie13 小时前
c语言面向对象的led
c语言·开发语言
钰珠AIOT3 小时前
什么是句柄,有什么用?适用于什么场景?
c语言·c++
꧁细听勿语情꧂3 小时前
用队列实现栈、用栈实现队列,树、二叉树、满二叉树、完全二叉树,堆、向下向上调整算法、出堆入堆、堆排序
c语言·开发语言·数据结构·算法
legendary_1634 小时前
Type-C手机快充与音频/数据传输的完美融合:多功能转接器解析
c语言·智能手机·音视频
weixin_399733624 小时前
C语言教程
c语言·嵌入式开发·编程教程·谭浩强·c程序设计
流年如夢5 小时前
编译链接流程与底层细节
c语言
Navigator_Z5 小时前
LeetCode //C - 1026. Maximum Difference Between Node and Ancestor
c语言·算法·leetcode