首页 > 编程知识 正文

c语言指针和引用有什么区别,引用 指针 区别

时间:2023-05-04 18:33:35 阅读:24450 作者:4496

首先,在Java中,不存在引用传递,即地址传递。 一切都是到岸价。 当然,使用对象时实际使用的引用Java语言会显式删除指针。 因为指针在带来方便的同时,往往是损害代码安全的原因。 此外,程序非常复杂,难以理解,有时也会滥用指针进行书写

首先,在Java中,不存在引用传递,即地址传递,都是值传递,当然是在使用对象时实际使用的引用

Java语言明确表示将废除指针。 这是因为指针往往在带来方便的同时,也是损害代码安全的原因,同时使程序变得非常复杂和难以理解。 因为滥用指针编写的代码不亚于使用已经臭名昭著的“GOTO”语句。 Java放弃指针的概念是绝对明智的。 但是,这只是Java语言没有明确的指针定义,实质上所有的new语句都返回了对指针的引用。 但是,在很多情况下,Java不需要在意如何操作这个“指针”,也不需要像操作c指针那样心惊肉跳。

不,基本类型的数据存储在堆栈中,存储的是数据。 另一方面,如果生成对象,则只有对象的引用存储在堆栈中,用于指向某个对象,并且该对象本身存储在Heap中。

此外,调用方法时传递的参数以及在调用过程中创建的临时变量都保存在堆栈中,速度很快。 其他变量(如静态变量和实例变量)在“堆”(Heap )中创建,速度较慢。 此外,局部变量还可能依赖于特定的编译器/JVM进行进一步优化。

在实现中,引用被理解为受限指针,并且基于引用的可以用指针实现,也可以用句柄实现。 早期的jvm一般采用句柄方式,现在的jvm,例如sun的,IBM的一般用指针来实现。

但是,在语言上,没有必要比较java的引用和c的指针。

指针可以与整数进行加减运算,也可以在两个指针之间进行大小比较运算和减法运算。

不能引用。 只能进行赋值运算。

当然有区别

A a=new A (;

你是a=a 1; 是吗? 指针就可以了

注:更多精彩教程请关注三联设计教程栏目。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。