C语言 形参、实参

定义

形参

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

实参

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

区别

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

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

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

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

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

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

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

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

相关推荐
黎雁·泠崖8 小时前
【C语言指针精讲】从内存到运算,吃透指针核心逻辑
c语言·开发语言
秦苒&8 小时前
【C语言指针四】数组指针变量、二维数组传参本质、函数指针变量、函数指针数组
c语言·开发语言·c++·c#
程序员zgh9 小时前
代码重构 —— 读后感
运维·c语言·开发语言·c++·重构
无限进步_10 小时前
【C语言】队列(Queue)数据结构的实现与分析
c语言·开发语言·数据结构·c++·算法·链表·visual studio
superman超哥10 小时前
仓颉语言中网络套接字封装的深度剖析与工程实践
c语言·开发语言·c++·python·仓颉
彭世瑜10 小时前
C/C++:libfort用于在终端输出表格
c语言·开发语言·c++
superman超哥11 小时前
仓颉语言中原子操作的封装深度剖析与无锁编程实践
c语言·开发语言·后端·python·仓颉
历程里程碑12 小时前
C++ 16:C++11新特化
c语言·开发语言·数据结构·c++·经验分享
才鲸嵌入式12 小时前
香山CPU(国产开源)的 SoC SDK底层程序编写,以及其它开源SoC芯片介绍
c语言·单片机·嵌入式·arm·cpu·verilog·fpga
Herbert_hwt13 小时前
C语言文件操作完全指南:从基础读写到错误处理详解
c语言