48.函数的形参和实参

一.什么是形参

函数定义中出现的参数可以叫做形参, 形参全称为"形式参数" ,可以看作是一个占位符,没有实际的数据,也不是实际存在变量,所以又称虚拟变量。作用是用来接收调用该函数时传入的参数,也就是只有当函数被调用的时候才可以拿到值。

二.什么是实参

实参全称为"实际参数",函数在被调用时包含了确切数据的参数叫做实参。实参会在函数内部中被使用。

三.举例

复制代码
#include <stdio.h>



int max(int,int);


void main(void)
{
       int ret = 0;
       int c = 'c';
       ret = max(c,1);  //实参1,2
       printf("ret is %d\n",ret);
}

int max(int a,int b)  //形参 a,b
{
       int result = 0;
       if(a > b){
              result = a;
       }else{
              result = b; 
       }

       return result;
}

四.区别和联系

1.形参和实参的功能都是传递数据,在发生函数调用时,实参的值会传递给形参。

2.形参只能在函数被调用时才会分配内存,函数调用结束以后会立即释放内存。所以形参只在函数内部有效。不能在函数外部使用。

3.实参可以是常量,变量,表达式,函数等,但是无论实参是什么类型,在函数调用时,必须有确定的值,以便把这些值传给形参。

4.实参和形参在数量,类型,顺序上必须完全一致,否则会发生类型不匹配问题。

5.只能把形参的数据传递给实参,不能把实参的数据传递给形参。

五.视频教程

49.函数的形参和实参_哔哩哔哩_bilibili

相关推荐
R1nG86317 分钟前
CANN资源泄漏检测工具源码深度解读 实战设备内存泄漏排查
数据库·算法·cann
_OP_CHEN26 分钟前
【算法基础篇】(五十六)容斥原理指南:从集合计数到算法实战,解决组合数学的 “重叠难题”!
算法·蓝桥杯·c/c++·组合数学·容斥原理·算法竞赛·acm/icpc
TracyCoder12338 分钟前
LeetCode Hot100(27/100)——94. 二叉树的中序遍历
算法·leetcode
九.九1 小时前
CANN HCOMM 底层机制深度解析:集合通信算法实现、RoCE 网络协议栈优化与多级同步原语
网络·网络协议·算法
C++ 老炮儿的技术栈1 小时前
Qt Creator中不写代如何设置 QLabel的颜色
c语言·开发语言·c++·qt·算法
子春一1 小时前
Flutter for OpenHarmony:构建一个 Flutter 数字消消乐游戏,深入解析网格状态管理、合并算法与重力系统
算法·flutter·游戏
草履虫建模7 小时前
力扣算法 1768. 交替合并字符串
java·开发语言·算法·leetcode·职场和发展·idea·基础
naruto_lnq9 小时前
分布式系统安全通信
开发语言·c++·算法
Jasmine_llq10 小时前
《P3157 [CQOI2011] 动态逆序对》
算法·cdq 分治·动态问题静态化+双向偏序统计·树状数组(高效统计元素大小关系·排序算法(预处理偏序和时间戳)·前缀和(合并单个贡献为总逆序对·动态问题静态化
爱吃rabbit的mq10 小时前
第09章:随机森林:集成学习的威力
算法·随机森林·集成学习