引用做函数的形参:在函数内部,对这个形参做任何操作,相当于对实参做相同的操作。

指针做函数的形参:在函数内部,只有在这个形参的值没有变化的情况下,对其所指向的内容做任何操作,才相当于对实参所指向内容做的操作。而对这个指针本身做的操作只是这个形参(实参的副本)自己有变化,而不会影响实参指针,也不会影响实参所指内容。比如给这个形参做算术运算、用malloc在堆中动态分配内存等,只是这个指针的值变了,那么它指向的内存也就和实参所指内存不同了。

PS:引用在定义时不可加const,否则编译出错,在形参前面则可以加const以确保在函数中该变量不会被修改。

以下是引用变量和指针变量的部分区别:(1)引用被创建的同时必须被初始化(指针则可以在任何时候被初始化)。 
(2)不能有NULL 引用,引用必须与合法的存储单元关联(指针则可以是NULL)。 
(3)一旦引用被初始化,就不能改变引用的关系(指针则可以随时改变所指的对象)。

指针和引用作为形参的区别相关推荐

  1. c语言的整型指针解引用与整型变量的区别

    (一)引入:简单介绍一下整型变量,指针,引用符和解引用符 定义一个整型变量a:    int a; 如果使用引用符号&,&a则是整型变量a的地址,也就是一个整型指针. 定义一个整型指针 ...

  2. c++值传递,指针传递,引用传递以及指针与引用的区别

    值传递: 形参是实参的拷贝,改变形参的值并不会影响外部实参的值.从被调用函数的角度来说,值传递是单向的(实参->形参),参数的值只能传入, 不能传出.当函数内部需要修改参数,并且不希望这个改变影 ...

  3. C++中指针和引用的区别

    指针和引用在C++中很常用,但是对于它们之间的区别很多初学者都不是太熟悉,下面来谈谈他们2者之间的区别和用法. 1.指针和引用的定义和性质区别: '*'表示这是一个指针变量,指针名为定义的指针变量名, ...

  4. 2020-12-6(从反汇编理解指针和引用的区别)

    这是我10个月前看到的一篇博客吧,感觉分析指针和引用的文章这是我目前见过讲解得最清晰的一篇: 本文主要基于反汇编代码,从初始化.赋值以及取地址三个角度来理解指针和引用的区别. 初始化 写出以下代码并查 ...

  5. 指针和引用的区别和联系

    在c++的学习中,我们经常被应该如何使用指针和引用这个问题所困扰,那么我这里给大家说一下在我的学习过程中对指针和引用的理解,和它们之间的区别,希望各位朋友给出不同的意见并且指出我在学习中的一些错误 首 ...

  6. C++指针和引用的区别

    从概念上讲.指针从本质上讲就是存放变量地址的一个变量,在逻辑上是独立的,它可以被改变,包括其所指向的地址的改变和其指向的地址中所存放的数据的改变. 而引用是一个别名,它在逻辑上不是独立的,它的存在具有 ...

  7. c++之指针和引用作为函数参数传递时的区别

    之前写过c++之值传递.引用传递.指针传递,今天再单独区分一下指针和引用作为函数参数传递时的区别. 本文参考浅谈C++中指针和引用的区别 一.指针作为函数参数传递时 1.类似于值传递,传入函数的指针只 ...

  8. C语言_指针和引用的区别

    文章目录 指针和引用的区别 0.前言 1.指针.指针变量和引用 2.指针变量和引用变量的定义 3.引用的用途 4.引用和指针的区别 5.引用的底层原理 6.代码示例 6.1.示例程序1 6.2.示例程 ...

  9. C++ const关键字的总结(全局/局部变量、修饰指针和引用、成员函数和数据成员、修饰类对象、const与宏定义的区别、Static与Const的区别)

    const关键字 const关键字 1.什么是const 2.使用原理 2.1.const全局/局部变量 2.2.cosnt修饰指针和引用 2.3.const修饰函数参数 2.4.const修饰函数返 ...

最新文章

  1. 嵌入式自学多久可以找工作?应届生找嵌入式工作难吗?
  2. 中国交通标志识别,德国交通标志识别
  3. python网页优化公司_使用python优化scipy.optimize.minimize公司
  4. 7 pe系统安装_【软件课程之家】PE系统安装教程
  5. python求扇形面积_Python随机生成均匀分布在单位圆内的点代码示例
  6. Cocos2d-x跨AndroidiOS平台开发入门
  7. mendelay为什么安装不了_你为什么消防验收过不了?消防管道安装错误图集
  8. codeblocks如何让输出结果 空格_简单讲讲如何实现两个正整数相加,然后输出这个结果...
  9. 跑步记录日期怎么改_快捷增加历史记录-鲨鱼记账App功能优化
  10. js判断是否为手机端访问
  11. MATLAB LSTM多输入多输出 模式分类 示例解析(含代码)
  12. 智能小车寻迹c语言程序,智能小车循迹记时测速程序
  13. JSP面试题都在这里 1
  14. 论文阅读笔记 | 分类网络——ParNet
  15. windows cmd 快速编辑模式
  16. leecode:707. 设计链表
  17. 初中教师资格证科学计算机面试,2019上半年教师资格证面试真题:初中信息技术...
  18. 树莓派 更换键盘 2020_魔改售价2000多元的HHKB键盘!蓝牙双模+外接TF卡+树莓派ZERO...
  19. 分析流量对防御DDOS攻击有何价值?
  20. 专升本计算机笔记 计算机基础知识

热门文章

  1. echarts双轴轴线不对齐的解决办法
  2. android要比ios耗电,这几个原因导致苹果手机耗电比安卓手机快
  3. python2好还是3好_捉急,小白选择python2还是3?
  4. 不知道有哪些配音软件?这些软件你值得拥有
  5. python中strip()、lstrip()、rstrip()函数的用法详解
  6. 福州大学研究生院数学与计算机学院,福州大学数学与计算机科学学院计算机图形学与多媒体/人工智能研究生导师:陈家瑞...
  7. 关于从主机无法复制文件到虚拟机的命令解决方案
  8. 2021年化工自动化控制仪表考试题及化工自动化控制仪表考试总结
  9. C# DataGridView 使用
  10. 养生四要:寡欲慎动法时却疾