引用与指针有什么区别?

引用与指针有什么区别?引用与指针有什么区别 指针和引用都是地址的概念 指针指向一块内存 它的内容是所指内存的地址 引用是某块内存的别名 程序为指针变量分配内存区域 而不为引用分配内存区域 指针使用时要在前加 引用可以直接使用 引用在定义时就被初始化 之后无法改变 指针可以发生改变 即引用的对象不能改变 指针的对象可以改变 没有空引用 但有空指针 这使得使用引用的代码效率比使用指针的更高

引用与指针有什么区别?

指针和引用都是地址的概念,指针指向一块内存,它的内容是所指内存的地址;引用是某块内存的别名。
  • 程序为指针变量分配内存区域,而不为引用分配内存区域。
  • 指针使用时要在前加 * ,引用可以直接使用。
  • 引用在定义时就被初始化,之后无法改变;指针可以发生改变。 即引用的对象不能改变,指针的对象可以改变。
  • 没有空引用,但有空指针。这使得使用引用的代码效率比使用指针的更高。因为在使用引用之前不需要测试它的合法性。相反,指针则应该总是被测试,防止其为空。
  • 对引用使用“sizeof”得到的是变量的大小,对指针使用“sizeof”得到的是变量的地址的大小。
  • 理论上指针的级数没有限制,但引用只有一级。即不存在引用的引用,但可以有指针的指针。
    int p //合法
    int &&p //非法

  • ++引用与++指针的效果不一样。
    例如就++操作而言,对引用的操作直接反应到所指向的对象,而不是改变指向;而对指针的操作,会使指针指向下一个对象,而不是改变所指对象的内容。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/216881.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 上午10:51
下一篇 2026年3月18日 上午10:51


相关推荐

  • Flex 布局详解 – Flex布局的常用属性

    Flex 布局详解 – Flex布局的常用属性文章目录什么是 Flex 布局适用范围使用时应该注意些什么 flex 布局中的一些基本概念容器和项目项目在容器中的显示容器的一些属性 flex direction 属性 flex wrap 属性 flex flow 属性 justify content 属性 align items 属性项目的一些属性 order 属性 flex grow 属性 flex shrink 属性 flex basis 属性 flex 属性 align se

    2026年3月20日
    1
  • Nginx 原理和架构

    Nginx 原理和架构Nginx 是一个免费的 开源的 高性能的 HTTP 服务器和反向代理 以及 IMAP POP3 代理服务器 Nginx 以其高性能 稳定性 丰富的功能 简单的配置和低资源消耗而闻名 Nginx 的整体架构 Nginx 里有一个 master 进程和多个 worker 进程 master 进程并不处理网络请求 主要负责调度工作进程 加载配置 启动工作进程及非停升级 worker 进程负责处

    2026年3月20日
    2
  • 空格代码 &nbsp[通俗易懂]

    空格代码 &nbsp[通俗易懂]空格代码 &nbsp

    2026年2月16日
    2
  • pycharm debug|新手入门

    pycharm debug|新手入门文章目录前言一 debug 常识二 debug 时遇到的问题及解决办法三 程序中遇到某些特殊情况应该如何 debug 前言分条整理 debug 时的注意事项 debug 时遇到的问题及解决办法 程序中遇到某些特殊情况应该如何 debug 以下是本篇文章正文内容 一 debug 常识 1 设置断点是 debug 的第一步 设置断点多在主程序代码行中设置 2 设置好断点 debug 运行 然后 F8 单步调试 遇到想进入的函数 F7 进去 想出来在 shift F8 跳过不想看的地方 直接设置下一个断点 然后 F9 直

    2026年3月27日
    2
  • anaconda与pip 清华镜像源

    anaconda与pip 清华镜像源condaconfiga mirrors tuna tsinghua edu cn anaconda pkgs free condaconfiga mirrors tuna tsinghua edu cn anaconda pkgs main condaconfigs channel urlsyespip 设置清华镜像源 方法 1 设为默认镜像源 推荐 pipconfigs

    2026年3月16日
    3
  • SKU与SPU的区别

    SKU与SPU的区别博客园的解释 做订单系统中 遇到这两个名词 在网上查了下解释 记录下 1 SKU StockKeeping 库存量单元 SKU 是商品下的一个分类属性 商品下一个颜色或者尺码 2 SPU StandardProd 标准化产品单元 SPU 是一个商品编码一个 SPU 可以对应多个 SKU 简单的说 SPU 就是一个 iPhone6s SKU 就是银色

    2026年3月26日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号