C 和 C++ 是最常用的编程语言,因为它们是初学者进入编程世界的基本大门。 指针和引用是这些语言提供的一些最有用的工具。 C和C++中使用指针,C++、Python和其他语言支持引用。
关键精华
- 指针存储变量或对象的内存地址,而引用充当现有变量的别名。
- 指针可以重新分配到不同的内存地址,而引用在初始化后不能更改。
- 指针需要显式解除引用才能访问它们指向的值,而引用可以像原始变量一样直接使用。
指针与引用
指针是一个变量,它接收不同变量的内存地址,它可以在程序中多次初始化,具体取决于需要多少次。 引用是一个备选的程序变量,在整个程序中只能初始化一次。
指针是一个变量,它的值是另一个变量的地址或位置。 它们可以在程序中的任何位置使用“*”和“->”等运算符进行初始化。 指针变量也可以设为空,它们也支持重新初始化。 基本数据类型声明指针后跟一个星号和指针的名称。
引用是一个具有另一个名称的变量,用于已经很微妙的程序变量。 一旦创建了引用变量,就应该对其进行初始化。 它为另一个变量创建别名。 & 运算符用于 设计 参考。 它们由基本数据类型后跟“&”和变量名组成。
对比表
比较参数 | 指针 | 参考文献 |
---|---|---|
定义 | 保存另一个变量的内存地址的变量称为指针变量。 | 引用是另一个变量的别名,是对它的引用。 |
空引用 | 可以将空值分配给指针。 | 引用变量没有空值赋值。 |
句法 | 数据类型 *PointerName; 其中 Datatype 是基本数据类型,PointerName 是声明的指针的名称。 | 数据类型 &ReferenceName = AnotherVariable; 其中 ReferenceName 是引用的名称,AnotherVariable 是被引用的变量。 |
初始化 | 可以创建未初始化的指针。 | 永远不能在未初始化的情况下创建引用 |
重新初始化 | 指针变量可以根据需要在程序中反复初始化。 | 引用变量在程序中只能初始化一次。 |
什么是指针?
简而言之,指针是一个变量,它保存程序中任何其他变量的内存位置或地址。 指针在 C 和 C++ 中是函数式的。 指针变量存储指向变量的地址位置。 可以声明指针变量,然后用要确定地址的变量初始化。
此外,它们具有清晰性,因为整数指针只能保存整数变量的地址。 指针有明确的声明方式。 例如,int *point 是指向 int 类型变量的指针,double *ABC 是指向 double 数据类型变量的指针。 同样的概念也适用于其他数据类型。 因此,指针以下列方式声明:
int *指针变量;
指针声明后,将指针变量赋值给待确定地址的变量。 上面的声明语句使用了一个指针来存储整数变量的值。
指针变量 = &a;
此处,a 是程序另一端使用的整型变量,其地址存储在变量指针中。 指针也给出了 责任 重新初始化。 他们的价值可以根据他们的需要改变。
什么是参考?
引用变量是另一个变量的别名。 换句话说,引用程序的其他存在变量的变量被视为引用变量。
它们的局限性在于它们不能被分配给空值,也不能被声明,它们只能被初始化。 创建引用后,可以通过引用名称或原始名称访问变量。 引用直接初始化。 例子,
int &ref = var;
这里的ref是引用变量的名称,它指向变量var,在程序的另一部分进行初始化。 当打印 ref 和 var 的值时,观察到 ref 和 var 具有相同的值。 指针在节省内存方面有优势,因为当它们作为参数传递给函数时,它们会为每个函数调用使用原始内存位置。
引用变量不提供重新初始化,它们只被初始化一次并且是唯一的。 引用不会通过将地址存储在单独的内存位置来指向变量。 简而言之,引用变量是现有变量的替代名称。 这些只是要引用的变量的其他名称的别名。
指针和引用之间的主要区别
- 指针变量通过引用绕过引用,而引用变量通过值绕过引用。
- 指针支持指向其他指针的功能,而引用则缺乏这种优势。 一个引用变量不能指向多个变量。
- 指针支持使用 算术 运算符并充当操作数,而引用变量不能与算术运算兼容。
- 指针变量的大小和内存地址在栈上,而引用变量有原始变量的内存地址,但它也会在栈上占用一点空间。
- 指针具有声明优势,而引用仅被初始化。
- https://link.springer.com/article/10.1023/A:1015362608943
- https://dl.acm.org/doi/pdf/10.1145/99583.99599
最后更新时间:11 年 2023 月 XNUMX 日
Sandeep Bhandari 拥有塔帕尔大学计算机工程学士学位(2006 年)。 他在技术领域拥有 20 年的经验。 他对各种技术领域都有浓厚的兴趣,包括数据库系统、计算机网络和编程。 你可以在他的网站上阅读更多关于他的信息 生物页面.
我很欣赏指针和参考文献的详细解释。对于学习编程的人来说,这是一个很好的资源。
对于那些深入研究编程和编码世界的人来说,这是一本很好的读物。
C 和 C++ 具有基础知识,但理解指针和引用至关重要,这对于初学者来说可能有点令人困惑。
我同意。关于这些概念有很多东西需要学习。
很棒的文章。信息非常丰富且富有洞察力。
了解指针和引用至关重要。本文提供了对这些概念的全面理解。
比较表对于理解指针和引用之间的差异非常有帮助。
这篇文章澄清了一个令人困惑的话题。
我同意那个。它使人们更容易掌握这个概念。
C 和 C++ 是最常用的编程语言,因为它们是初学者进入编程世界的基本大门。 指针和引用是这些语言提供的一些最有用的工具。 C和C++中使用指针,C++、Python和其他语言支持引用。
感谢您提供信息丰富的文章。
指针和引用在编程中起着至关重要的作用。找到有关它们差异的信息是件好事。