个人原创:

1. 形参:形式上的参数,一般多在函数声明、函数定义的参数上;

2. 实参:实体参数,有实际的值,在运算上被循环使用的值;

3. 按值传参:按值,就是把实际的值传给函数内部;

4. 指针传参:使用指针形式传递参数,把参数的地址传递进去,直接操作地址;

5. 引用传参:只有在C++中才有,C中没有引用传参,其意义就是传递了一个实参的别名,有实参和指针的优点,但没有其占用那么多的内存;

函数之间的数据传递共有三种形式:

(1) 按值传递:使用变量名做实参和形参,直观易懂,但效率低;

(2) 指针传递:使用指针变量做实参和形参,将需要传递的数据的首地址传递进去,在时间和空间上都开销比较小,但不是很容易懂;

(3) 引用传递:C++才有,算是给C做了一个小优化,结合了(1)和(2)的优点,实参是变量数据,形参是变量的引用,传递的是地址;

有时候我们会碰到函数返回类型返回的一个值不能满足返回值数量的需求,可以用指针传参和引用传参来解决,两者不但可以作为输入,也可作为输出,其在实现函数内部修改的值在函数外部同样有效;

[ 随手记6 ] C/C++ 形参、实参、按值传参、指针传参、引用传参的更多相关文章

  1. python学习道路(day4note)(函数,形参实参位置参数匿名参数,匿名函数,高阶函数,镶嵌函数)

    1.函数 2种编程方法 关键词面向对象:华山派 --->> 类----->class面向过程:少林派 -->> 过程--->def 函数式编程:逍遥派 --> ...

  2. C语言 01 形参实参

    之前的都在印象笔记记录 continue 结束本轮循环体,进入下一次循环.break 直接结束整个while循环 形参:定时函数时函数名后面中的参数实参:调用函数时传入的具体数据基本数据类型作为形参, ...

  3. java 形参实参

    java方法中传值和传引用的问题是个基本问题,但是也有很多人一时弄不清. (一)基本数据类型:传值,方法不会改变实参的值. public class TestFun { public static v ...

  4. day11函数(形参实参)

    形参与实参 def fn(形参们): pass # 形参:定义函数,在括号内声明的变量名,用来结束外界传来的值# 实参:调用函数,在括号内传入的实际值,值可以为常量.变量.表达式或三者的组合 # 注: ...

  5. 关于函数传参的其他问题(const形参实参/可变形参)

    const 形参和实参 当形参是 const 变量时,实参是 const 或者不是 const 变量都可以. 实参初始化形参时会忽略掉顶层 const: void gel(const int a){ ...

  6. 第十一篇 Python函数之定义&形参&实参&位置参数&关键字参数&可变长参数&默认参数

    函数的定义:函数是为了完成某一特定功能的,函数是逻辑结构化和过程化的一种编程方法 函数的定义格式,函数一般都是有返回值的 #语法 #函数名要能反映其意义 def 函数名(参数1,参数2,参数3,... ...

  7. 【C++基础】形参实参

    c++规定:一个函数的默认实参既可以在定义中,也可在声明中指定,但在一个文件(准确的说,是一个作用域)中只能为一个形参指定默认实参一次

  8. Javascript ----函数表达和形参实参

    1.函数是对象,函数名实际上是函数对象的指针 1.函数声明方式 (函数声明提前) function sum(num1,num2){return num1+num2;} 2.函数表达式 var sums ...

  9. python学习第三十天函数的形参,实参及函数文档

    python函数的形参是定义函数def 函数名 小括号里面的变量,实参是调用函数时候的值,函数文档是提供函数功能的开发文档,下面 详细说明系列方法 1,函数的形参 def chan(name): pr ...

随机推荐

  1. No X11 DISPLAY variable was set

    在命令行调用图形化界面时报错 “No X11 DISPLAY variable was set” 首先使用xclock命令查看是否能调出时钟,如果不行,使用如下命令: 打开xmanager – pas ...

  2. PlantUML + Chrome 联合使用

    之前都是本地下载安装一个PlantUML,安装过程有点复杂,涉及到的其他插件也有些多. 后面发现Chrome浏览器上提供了相关插件,整个过程简直太流畅了.记录下. 安装: 打开Chrome的线上应用商 ...

  3. log4j的详细配置

    https://www.cnblogs.com/juddhu/archive/2013/07/14/3189177.html(原文链接) 先说下我的需求 1,可以记录日记在我们的java开发项目周期中 ...

  4. 第7天:Q Quant库(未完待续)

    一.本文大纲: 1.Python内置函数计算期权的价格 2.numpy加速数值计算 3.SciPy进行仿真模拟 4.SciPy求解器计算隐含波动率 5.matplotlib绘图 二.案例 (看不懂,略 ...

  5. 'Tensorboard.util' has no attribute 'Retrier' - 'Tensorboard.util'没有属性'Retrier'

    Here is a popular issue when you want to use tensorbard with your upgraded tensorflow and tensorboar ...

  6. conda的使用(附带远程文件传输命令)

    1 环境管理 1.1查看当前系统下的环境 conda info -e 创建新的环境 # 指定python版本为3.6,注意至少需要指定python版本或者要安装的包 conda create -n m ...

  7. jqgrid自定义列表开发=》实现高级查询

    标题已指出本文要说的三件事,首先是主角jqgrid,将应用在自定义列表中,重点介绍如何实现高级查询. 使用jqgrid实现自定义列表分为两大步骤,首先是要根据业务完成jqgrid的对象定义,即列表的描 ...

  8. 显式拥塞通告(ECN)及其在Linux上的实现

    1 ECN简介 首先看看ECN握手报文的特点,根据RFC3168,ECN握手报文IP头部不能够设置ECT和CE位的 SYN报文TCP标志字段的CWR和ECE位被置1 SYN-ACK报文的CWR位被置0 ...

  9. react-native-scrollable-tab-view 中嵌套了react-native-swiper产生的bug

    前段时间用RN的时候遇到过这个问题用scrollable-tab-view(scrollableView)这个组件然后嵌套轮播swiper会出现,在scrollableView  nitialPage ...

  10. 读取Excel,单元格内容大于255个字符自动被截取的问题

    DataSet ds = new DataSet(); cl_initPage.v_DeBugLog("ExcelDataSource进入"); string strConn; s ...