指针就是内存地址,指针变量就是存放内存地址的变量。指针很大的一个用处是大大方便了对数据的操作,即要想对一个数据操作,只要拿到(操作)数据的指针即可。
在C/C++中,平时说的指针其实是指针变量。指针变量是一种数据类型,就像 C 中的整型变量存放整型数据一样,指针变量存放内存地址值,也占 4 个字节。
和 java 中不一样,在C/C++中有些变量(比如static的)是要手动回收的,如果没有手动回收,这些变量会一直占着内存空间,这就导致计算机的可用内存越用越少。
java平台是基于 C 语言开发的,里面也有很多对指针的操作,只不过很多操作都被封装起来了,我们看不到而已,比如对数组的下角标操作其实就是基于指针的。
并且 java 可以自动回收垃圾,这也是java相对于C/C++的一个优点。据说在C/C++中手动释放内存空间是一件很烦人的事情,所以很多人用java。虽然java执行效率稍慢。 |