指针与引用:差异与比较

C 和 C++ 是最常用的编程语言,因为它们是初学者进入编程世界的基本大门。 指针和引用是这些语言提供的一些最有用的工具。 C和C++中使用指针,C++、Python和其他语言支持引用。

关键精华

  1. 指针存储变量或对象的内存地址,而引用充当现有变量的别名。
  2. 指针可以重新分配到不同的内存地址,而引用在初始化后不能更改。
  3. 指针需要显式解除引用才能访问它们指向的值,而引用可以像原始变量一样直接使用。

指针与引用

指针是一个变量,它接收不同变量的内存地址,它可以在程序中多次初始化,具体取决于需要多少次。 引用是一个备选的程序变量,在整个程序中只能初始化一次。

指针与引用

指针是一个变量,它的值是另一个变量的地址或位置。 它们可以在程序中的任何位置使用“*”和“->”等运算符进行初始化。 指针变量也可以设为空,它们也支持重新初始化。 基本数据类型声明指针后跟一个星号和指针的名称。 

引用是一个具有另一个名称的变量,用于已经很微妙的程序变量。 一旦创建了引用变量,就应该对其进行初始化。 它为另一个变量创建别名。 & 运算符用于 设计 参考。 它们由基本数据类型后跟“&”和变量名组成。

对比表

比较参数指针参考文献
定义保存另一个变量的内存地址的变量称为指针变量。引用是另一个变量的别名,是对它的引用。
空引用可以将空值分配给指针。引用变量没有空值赋值。 
句法数据类型 *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 具有相同的值。 指针在节省内存方面有优势,因为当它们作为参数传递给函数时,它们会为每个函数调用使用原始内存位置。

另请参阅:  Redis 与 RDBMS:区别与比较

引用变量不提供重新初始化,它们只被初始化一次并且是唯一的。 引用不会通过将地址存储在单独的内存位置来指向变量。 简而言之,引用变量是现有变量的替代名称。 这些只是要引用的变量的其他名称的别名。

指针和引用之间的主要区别

  1. 指针变量通过引用绕过引用,而引用变量通过值绕过引用。
  2. 指针支持指向其他指针的功能,而引用则缺乏这种优势。 一个引用变量不能指向多个变量。
  3. 指针支持使用 算术 运算符并充当操作数,而引用变量不能与算术运算兼容。
  4. 指针变量的大小和内存地址在栈上,而引用变量有原始变量的内存地址,但它也会在栈上占用一点空间。 
  5. 指针具有声明优势,而引用仅被初始化。
参考资料
  1. https://link.springer.com/article/10.1023/A:1015362608943
  2. https://dl.acm.org/doi/pdf/10.1145/99583.99599

最后更新时间:11 年 2023 月 XNUMX 日

点1
一个请求?

我付出了很多努力来写这篇博文,为您提供价值。 如果您考虑在社交媒体上或与您的朋友/家人分享,这对我很有帮助。 分享是♥️

关于“指针与引用:差异与比较”的 12 个思考

  1. C 和 C++ 是最常用的编程语言,因为它们是初学者进入编程世界的基本大门。 指针和引用是这些语言提供的一些最有用的工具。 C和C++中使用指针,C++、Python和其他语言支持引用。

    回复

发表评论

想保存这篇文章以备后用? 点击右下角的心形收藏到你自己的文章箱!