news 2026/4/23 9:43:01

16. 指针和引用的区别

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
16. 指针和引用的区别

1.指针和引用的区别


1.指针和引用的区别

a.指针 是一个"独立的变量, 专门用来存储另一个变量的内存地址; 指针本身占用内存空间, 可指向不同的变量(甚至空地址)"b.引用 是"某个变量的别名(nickname)和原变量共享同一块内存空间, 没有自己独立的内存",本质上是编译器层面的"语法糖"

a.初始化差异#include <iostream>usingnamespacestd;intmain(){inta=10;// 指针:可未初始化(不推荐,野指针)int*p1;// 合法,但p1指向随机地址(野指针,危险)int*p2=&a;// 正确初始化// 引用:必须初始化,否则编译报错// int& ref1; // 错误:引用必须初始化int&ref2=a;// 正确:ref2是a的别名return0;}

b.指向/绑定修改差异#include <iostream>usingnamespacestd;intmain(){inta=10,b=20;// 指针:可修改指向int*p=&a;cout<<*p<<endl;// 输出:10p=&b;// 指针指向bcout<<*p<<endl;// 输出:20// 引用:不能修改绑定对象(看似修改,实际是修改原变量)int&ref=a;cout<<ref<<endl;// 输出:10ref=b;// 不是绑定b,而是把b的值赋给a(a变成20)cout<<a<<endl;// 输出:20cout<<ref<<endl;// 输出:20(ref还是a的别名)return0;}

c.空值与语法使用差异#include <iostream>usingnamespacestd;intmain(){// 指针:可空int*p=nullptr;// 空指针,合法if(p==nullptr){cout<<"p是空指针"<<endl;}// 引用:不能空(以下代码编译报错)// int& ref = nullptr; // 错误:引用必须绑定到有效变量// 语法使用:指针需要解引用,引用直接用intnum=100;int*p_num=&num;int&ref_num=num;cout<<*p_num<<endl;// 指针:解引用访问值,输出100cout<<ref_num<<endl;// 引用:直接访问值,输出100cout<<&p_num<<endl;// 指针自身的地址(独立内存)cout<<&ref_num<<endl;// 引用的地址 = 原变量num的地址(无独立内存)return0;}

d.const修饰的差异#include <iostream>usingnamespacestd;intmain(){intx=5,y=6;// const修饰指针:两种场景constint*p1=&x;// 指向的内容不可改,指针本身可改// *p1 = 10; // 错误p1=&y;// 正确int*constp2=&x;// 指针本身不可改,指向的内容可改*p2=10;// 正确// p2 = &y; // 错误// const修饰引用:限制引用的内容不可改constint&ref=x;// ref = 10; // 错误:不能修改const引用的内容x=10;// 正确:原变量可改,引用值也会变cout<<ref<<endl;// 输出:10return0;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/20 7:32:42

Go 语言实战:构建一个企微外部群“技术贴收藏夹”小程序后端

QiWe开放平台 个人名片 API驱动企微自动化&#xff0c;让开发更高效 核心能力&#xff1a;为开发者提供标准化接口、快速集成工具&#xff0c;助力产品高效拓展功能场景 官方站点&#xff1a;https://www.qiweapi.com 团队定位&#xff1a;专注企微API生态的技术服务团队 对接…

作者头像 李华
网站建设 2026/4/16 1:14:18

央国企人力资源数字化转型指南:为何红海云成为标杆企业优选?

在数字经济与国企改革双向深化的今天&#xff0c;央国企的人力资源管理正面临前所未有的变革压力——既要严守合规底线、贯彻集团管控&#xff0c;又要提升组织活力、实现人才赋能。在这一背景下&#xff0c;市场上各类HR数字化解决方案层出不穷&#xff0c;但能真正适配央国企…

作者头像 李华
网站建设 2026/4/21 16:19:19

Flutter 三端应用实战:OpenHarmony “静默涟漪”——在喧嚣洪流中,为你筑一座无声的共鸣之池Flutter 三端应用实战:OpenHarmony “静默涟漪”——在喧嚣洪流中,为你筑一

● &#x1f310; 欢迎加入开源鸿蒙跨平台社区 https://openharmonycrossplatform.csdn.net/一、失语的共鸣&#xff1a;我们为何在连接中孤独 深夜朋友圈的点赞&#xff0c;群聊里刷屏的表情包&#xff0c;视频会议中静音的沉默——社会神经学研究揭示&#xff1a;每日被动接收…

作者头像 李华
网站建设 2026/4/15 18:16:27

vue+springboot书虫小说在线阅读网站 开题报告

目录项目背景项目目标技术选型功能模块创新点预期成果参考文献项目技术支持可定制开发之功能亮点源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作项目背景 随着互联网技术的发展&#xff0c;在线阅读逐渐成为用户获取文学作品的主要方式。传…

作者头像 李华
网站建设 2026/4/18 12:28:31

Python毕设选题推荐:基于python的社区互助养老信息平台养老社区的查询预约系统【附源码、mysql、文档、调试+代码讲解+全bao等】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华