指针与引用

原创 2017年01月03日 15:22:28

上文我们讲了内存与内存地址。

对CPU来说,系统中的所有存储器中的存储单元都以内存地址的形式分配到逻辑存储器中,它的容量受地址总线的宽度限制,这个逻辑存储器就是我们说的内存地址。也可以说是C语言的指针。

java中没有指针,是因为指针指向内存的地址空间,会造成内存泄漏,因此java中禁止了直接对内存进行操作的指针。

java语言中的引用则说的是JVM堆中的对象数据的引用,它指向堆中的对象数据,是对内存地址的进一步引用。

指针中存放的是内存地址,长度一般是计算机字长,可以认为是个int。

java中万物皆对象,引用也是一个对象,java中的引用存放在栈中。

java是运算过程中传递的是对象的copy,也就是值传递,对对象copy的修改不影响内存中的数据。而指针传递的是对象的地址,在上节中我们知道对内存地址的操作就是对内存中数据的操作,因此是十分危险的。java出于安全机制的考虑,因此取消了指针操作。

在IDE中编写程序,通过debug操作可以看出引用的值就是具体的对象值,而引用的值是一个Ox开头的16进制的字符串。








参考链接:http://blog.csdn.net/luoweifu/article/details/38308299

指针和引用

  • 2012年03月08日 18:53
  • 26KB
  • 下载

浅谈C++中指针和引用的区别

指针和引用在C++中很常用,但是对于它们之间的区别很多初学者都不是太熟悉,下面来谈谈他们2者之间的区别和用法。 1.指针和引用的定义和性质区别: (1)指针:指针是一个变量,只不过这个变量...

【C++基础学习】C++引用参数与指针参数

引用和指针参数,这两种参数都允许函数修改实参,也都允许有效地向函数传递大型类对象。那么,怎么样决定把函数参数声明成引用还是指针呢? 引用必须被初始化为指向一个对象,而且一旦初始化了,就不能指向其他对...

C/C++函数形参传实参时值传递、指针传递、引用传递的区别

值传递:形参是实参的副本(复制、拷贝),形参值的改变不会影响实参的值,这种方式是很常见的。 指针传递:形参是指针类型,形参作指针运算后指向的就是实参,所以会影响实参的值。这种方式也是很常见的。 引用传...

c++指针和引用

  • 2013年05月12日 18:56
  • 19.64MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:指针与引用
举报原因:
原因补充:

(最多只允许输入30个字)