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)

相关推荐

  • 写朋友深厚友情的诗句,表达朋友间深厚情谊的诗句有哪些

    技术写朋友深厚友情的诗句,表达朋友间深厚情谊的诗句有哪些8句诗词话友情,愿我们友谊天长地久!一写朋友深厚友情的诗句、劝君更尽一杯酒,西出阳关无故人。出自唐·王维《渭城曲/送元二使安西》。请你再干了这杯酒以壮行色,出了阳关

    生活 2021年10月28日
  • Suse11.4 + DB2 10.5fp8 pureScale如何安装部署

    技术Suse11.4 + DB2 10.5fp8 pureScale如何安装部署这篇文章主要为大家展示了“Suse11.4 + DB2 10.5fp8 pureScale如何安装部署”,内容简而易懂,条理清晰,希望能够帮

    攻略 2021年12月4日
  • yum方式安装Percona XtraBackup报错怎么办

    技术yum方式安装Percona XtraBackup报错怎么办小编给大家分享一下yum方式安装Percona XtraBackup报错怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这

    攻略 2021年11月1日
  • 命令行中scp命令怎么用

    技术命令行中scp命令怎么用这篇文章将为大家详细讲解有关命令行中scp命令怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 scp 全称为secure copy,它能够对文

    攻略 2021年11月20日
  • 转换成MP3格式的软件都有哪些推荐2款实用的音频格式转换工具

    技术转换成MP3格式的软件都有哪些推荐2款实用的音频格式转换工具 转换成MP3格式的软件都有哪些推荐2款实用的音频格式转换工具我们在日常的办公生活中,或多或少会接触到音频文件,这些文件有可能是从网络上下

    礼包 2021年12月24日
  • 第一次国内革命战争时期,第一次革命和第二次革命时间

    技术第一次国内革命战争时期,第一次革命和第二次革命时间第一次工业革命的时间:18世纪60年代~19世纪40年代第一次国内革命战争时期。第二次工业革命的时间:19世纪60年代后期。
    第一次工业革命极大地提高了生产力,巩固了

    生活 2021年10月25日