C++中指针引用的示例分析

技术C++中指针引用的示例分析这篇文章主要介绍C++中指针引用的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!指针和引用形式上很好区别,但是他们似乎有相同的功能,都能够直接引用对象,对其进

本文主要介绍C语言中指针引用的实例分析,非常详细,具有一定的参考价值。感兴趣的朋友一定要看完!

指针和引用在形式上有很大的不同,但它们似乎都有相同的功能,它们可以直接引用对象并直接操作它们。

首先,引用不能为空,但是指针可以为空。如前所述,引用是对象的别名。如果引用为空,则——对象不存在。怎么会有化名?因此,在定义引用时,必须对其进行初始化。所以如果你有一个指向另一个对象的变量,但是它可能是空的,那么你应该使用一个指针;如果变量总是指向一个对象,即您的设计不允许变量为空,那么您应该使用引用。

像指针一样,指针的引用令人困惑。

我们注意到如下语法

voidfunc(int*x)

{

x;

}我猜你可能对int *x x有点困惑。

它叫指针的引用.

Int*x不要觉得看起来复杂,其实一点都不复杂。

让我打开让你看看:

根据C程序员的习惯,指针“*”符号与类型放在一起。

c是一个参考符号。

我们应该注意到“引用”并不产生副本,而是给原始变量一个别名。

对引用的操作是对原始变量的操作。

所以就这样:

Int*x一目了然!

对指针变量本身的修改无法作用到原指针变量,

所以需要通过引用来实现修改指针变量。

我将使用两个图表来告诉您指针引用为什么有用:

C++中指针引用的示例分析

C++中指针引用的示例分析

00-1010拿个栗子。

我将使用代码向您解释什么是本地修改:

# includestdio.h

voidswap(int*p1,int * p2){ 0

int * temp=p1

p1=p2

p2=温度;

Printf('交换条件:a=%d,b=%d\n ',*p1,* p2);

Printf ('in exchange(地址):p1=%d\n ',P1);

Printf('交换(地址):p2=%d\n ',p2);

}

int main(){ 0

inta=1,b=3;

int*p1=a,* p2=b;

//交换之前

Printf('交换前:a=%d,b=%d\n ',*p1,* p2);

Printf('交换前(地址):p1=%d\n ',P1);

Printf('交换前(地址):p2=%d\n ',p2);

//作为交换

交换(p1,p2);

//交换之后

Printf('交换后:a=%d,b=%d\n ',*p1,* p2);

Printf('交换后(地址):p1=%d\n ',P1);

Printf('交换后(地址):p2=%d\n ',p2);

返回0;

}猜猜结果。

输出结果:

之前:a=1,b=3

交换前(地址):p1=6422028

交换前(地址):p2=6422024

作为交换:a=3,b=1

交换(地址):p1=6422024

交换(地址):p2=6422028

交换后:a=1,b=3

交换后(地址):p1=6422028

交换后(地址):p2=6422024

运行截图

C++中指针引用的示例分析

执行swap()函数时,它正在执行。

C++中指针引用的示例分析

可以发现,在执行swap()函数时,确实修改了地址,交换了A和B的值。

C++中指针引用的示例分析

然而,当我们在main()函数中输出A和B时,根本没有交换。

什么叫局部修改?

同样的代码,我只换一个地方。

C++中指针引用的示例分析

让我们看看会发生什么。

运行截图

C++中指针引用的示例分析

之前:a=1,b=3

交换前(地址):p1=6422044

交换前(地址):p2=6422040

交换:a=3,b=1

交换(地址):p1=6422040

交换(地址):p2=6422044

交换后:a=3,b=1

交换后(地址):p1=6422040

交换后(地址):p2=6422044

我简单的加了一句“”,太神奇了!

所以我们可以发现:

指针的引用能够全局修改指针变量!

引用是C++中很强大的语法,在编程中极其实用。

理解这种语法至关重要,因为它广泛用于树和图算法。

以上就是《C语言指针引用实例分析》一文的全部内容,感谢阅读!希望分享的内容对大家有所帮助。更多相关知识,请关注行业资讯频道!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/82730.html

(0)

相关推荐

  • 没插耳机显示耳机模式怎么办,手机成耳机模式了怎么办

    技术没插耳机显示耳机模式怎么办,手机成耳机模式了怎么办手机成耳机模式有两种情况 没插耳机显示耳机模式怎么办:第一  就是你在设置里调成的耳机模式 第二   你的手机耳机插孔在你插入耳机的时候被插坏了 把里面的铜片接触到了

    生活 2021年10月30日
  • [loj3220]Terytoria

    技术[loj3220]Terytoria [loj3220]Terytoria显然两维是独立的,不妨考虑其中一维的答案
    将其离散,枚举交包含的某一段(若不存在即交为空),进而即可确定所有段的方向,用线段

    礼包 2021年12月18日
  • qt 绘制折线(qt地图绘制)

    技术Qt编写地图综合应用之如何绘制覆盖物折线这篇文章给大家分享的是有关Qt编写地图综合应用之如何绘制覆盖物折线的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、前言折线图目前应用最广的也是用来

    攻略 2021年12月25日
  • VS2015安装之后如何加装Sql server2014

    技术VS2015安装之后如何加装Sql server2014这篇文章给大家分享的是有关VS2015安装之后如何加装Sql server2014的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。网上

    攻略 2021年12月4日
  • Day85--drf06--整体流程及源码分析、全局异常处理与接口文档

    技术Day85--drf06--整体流程及源码分析、全局异常处理与接口文档 Day85--drf06--整体流程及源码分析、全局异常处理与接口文档昨日回顾
    1 频率限制-写一个类,继承SimpleRat

    礼包 2021年12月13日
  • win7系统安装SQLServer2000的步骤是什么呢

    技术win7系统安装SQLServer2000的步骤是什么呢本篇文章给大家分享的是有关win7系统安装SQLServer2000的步骤是什么呢,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,

    攻略 2021年12月1日