导航:首页 > 编程语言 > c指针java

c指针java

发布时间:2022-06-17 00:03:40

java中引用类型的变量与c中指针变量的区别

  1. 区别应该很多,理解这些区别应该是建立在对C的指针和对Java引用类型的高度理解之上2的。

  2. 这里说下自己的理解:java中的引用类型可以看成是C中指针概念的封装。C中指针是一个数值,可以进行各种运算(算术、逻辑、位),但是在java中,这些功能被封装,是无法使用的。

  3. 根据本题的其他回答更新:java中的参数传递是按值传递当传递的是基础类型的值时,那么会将此值复制一份传递,当传递的是引用类型时候,将会把此引用类型的指针 值复制一份传递。比如:public void test(Person p){....}方法中对p的操作,是直接对P在内容中对应的数据直接操作,而不是将P对应的内容中的数据复制一份传递到test方法中。

㈡ java引用与C语言指针的区别是什么

java引用与C语言指针的区别有以下几方面:

1、现象

指针在运行时可以改变其所指向的值,而引用一旦和某个对象绑定后就不再改变,总是指向最初的对象。

2、编译

程序在编译时分别将指针和引用添加到符号表上,符号表上记录的是变量名及变量所对应地址。指针变量在符号表上对应的地址值为指针变量的地址值,而引用在符号表上对应的地址值为引用对象的地址值。符号表生成后就不会再改,因此指针可以改变指向的对象(指针变量中的值可以改),而引用对象不能改。

3、类型

引用其值为地址的数据元素,java封装了的地址,可以转成字符串查看,长度可以不必关心;C指针是一个装地址的变量,长度一般是计算机字长,可以认为是个int。

4、内存占用

所占内存:引用声明时没有实体,不占空间。C指针如果声明后会用到才会赋值,如果用不到不会分配内存。

5、内存溢出

JAVA引用的使用权限比较小,不会产生内存溢出。C指针是容易产生内存溢出的,所以程序员要小心使用,及时回收。

6、本质

JAVA中的引用和C中的指针本质上都是想通过一个别名,找到要操作的目标(变量对象等),方便在程序里操作。所不同的是JAVA的办法更安全,使用更加方便些,但没有了C的灵活,高效。

㈢ C语言中的"函数指针数组"在java中怎么实现

java不支持指针,也不支持在类外定义函数,所以如果你在java里这么做是没有意义的,这不符合java的思想。如果你非要把重点放在函数上,你可以在类里定义函数,然后从类间接调用函数。

㈣ JAVA怎么实现C语言的指针相同功能

我用自己的理解来讲得通俗一点吧
C语言可以用一个指针值指向内存的任何一个空间,当然有很多非法的空间会被检测出来,所有乱用指针,编译器或者系统就会报错。
但JAVA不同,JAVA 通过一个引用,来指向内存的一个空间,换句话说,不是你想指向哪里,就指向哪里,因为你定义个变量时,这个空间由系统分配,同样,你定义一个引用,这个空间同样由系统分配,而我们做的事情只是将这两个由系统分配的空间进行一个指向关联,没有一个随心所欲的内存指向
区别很明显吧,我相信这样解释,连一个没有任何C基础的人都能明白,呵呵,因为这是我第一次做任务来答题,所以详细一点,也啰嗦一点,如果还不明白,我们可以进一步交流。

㈤ Java教程为什么说指针是 C 语言的精髓

得不到的 总是最好的
java没指针 所以羡慕C有 哈哈
不过指针确实是C/C++的一个特色,带来很大灵活性。
C语言最重要的一点是可以直接访问内存地址(任意的地址,但出错不出错是另一回事),而指针是保存这种值的变量就非常重要。

C语言中的很多东西,实际是受限制的指针,比如数组名和函数名。
比如,指针在C语言中的一个很重要的用途是动态绑定(运行时绑定),动态绑定在C++、C#这些更高级的语言中以虚函数的方式实现,但是在C语言中没有虚函数的概念。如运行时,才去判断当前环境(比如系统版本、不同的许可证、有没有相应的DLL等),用LoadLibrary和GetProcAddress调入不同的DLL中的不同函数赋值给函数指针。

㈥ JAVA引用 与 C 的指针

数组就是指针,是固定的指针,不能变更的指针。
·引用只能在定义的时候赋值,或者作为函数的参数
·引用定义的数据与没有引用前的数据是同一数据,不同的名称,相当于给旧数据引新名称
·引用一旦定义,就不能改变,只能在定义时指定,并且其他所有的地方都不能去改变引用关系
当然,指针与引用之间的关系并非是一讲半讲的内容能够交待得很透切.

我却认为JAVA的使用相对安全,而且这也是大多数人认为的。

㈦ java用什么取代c的指针

指针是程序来操作地址的。
而JAVA的一个最重要特性就是一次编辑,随处运行。也就是说,JAVA是脱离底层硬件的,其和硬件之间有一层虚拟机。
所以JAVA是不允许操纵底层,也就是说操纵地址的,当然就不能允许使用指针了。操纵底层由于每个机器的硬件环境差别很大,所以如果JAVA只用了指针的话,就违背了JAVA的那个特点,也同时降低了程序的安全性。

不明白的可以继续补充,呵呵。

㈧ 请大神帮忙,c中定义的指针,在java中用什么替代

或者你可用试试泛型
就是在那个对象后面定义nextarc<ARCNODE>

㈨ Java中的对象就相当于C中的指针,this相当于指针的指针,这样说对不对

虽然java没有指针,但也可以这样认为,this不是指针的指针,就是对象的指针,对象变量也是对象的指针,this是用在类里面的
,对象变量是在类外面使用的

阅读全文

与c指针java相关的资料

热点内容
点击录制按钮是什么app 浏览:890
证据提取命令视频 浏览:353
java的学习心得 浏览:96
prof命令 浏览:279
手机加密文件密码怎么解开 浏览:283
贾跃亭程序员完整视频 浏览:958
怎样把两个文件夹打包发送 浏览:378
单片机教程资料 浏览:982
仿大众点评系统源码python 浏览:426
手机网络服务器连接不上是怎么回事 浏览:155
电脑为什么一直要解压 浏览:530
淘客优惠券网站源码 浏览:555
word转成pdf在线 浏览:775
手机暴力解压教程 浏览:130
解压小视频第二期 浏览:364
装机自带软件找不到软件文件夹 浏览:330
仙境之路服务器地址ip 浏览:708
华为服务app是什么东西 浏览:180
关于单片机的视频 浏览:592
淘宝直播app缓存怎么清理 浏览:555