当前位置:编程学习 > C/C++ >>

C语言 和 JAVA 语言的 区别是什么 两者

答案:

相同的地方: 1、语法类似: 由于Java可以算是从C 发展而来的,因此Java与C语言的语法比较类似 2、编程的熟练程度就是对语言程序库的掌握程度: 从某种程度上来说,编程语言都是由语法和相应的程序库所构成,Java有自身的类库,C语言则有标准库。所谓的编程,就是使用与语法来调用和组合程序库中的函数。 不同的地方: 1、内存管理 在Java中,基本不用考虑内存的问题,如果想用一个对象,new一个就可以,这个过程的背后则是JRE为对象分类的一定内存,当JRE发现你不再使用这个对象的时候,他就会自动回收内存,也就是说你只管借东西,不用管归还,因为与有人当你的跟班,在你不使用的时候就把东西归还了,不过这个过程还是有的,只不过是JRE作的而已。 但是C则不同,如果你想用,你可以用malloc之类的方法申请内存,当你使用完了,因为没有跟班的,你需要自己把这块内存归还回去,也就是调用free方法来完成这个任务。由于需要显式的归还内存,因此当一个函数需要将一块内存返回给调用者的时候,问题就比较复杂了,不如面向对象和具有内存回收功能的Java那么直观了。对于这个问题,在C语言中,有几种解决方案: (1)在调用者中先分配好内存,作为参数传入到被调用的函数中 (2)在被调用的函数中分配,使用完后在调用者中释放 (3)在被调用函数中使用static变量,可以将该变量返回 2、面向对象 Java的面向对象的特点很明显,而C则是一个地道的结构化语言。Java中有一个字符串类String,通过调用String.length()就可以知道字符串的长度,但是在C语言中,则需要调用函数strlen(str)来得到字符串(字符数组)的长度。由于C不是面向对象的语言,也就没有this的概念,因此当使用一个与某个“东西”相关的函数时,就需要不厌其烦的将代表这个“东西”的变量作为参数传递进去。 3、名称空间 Java通过包(package)来实现名称空间,在C语言中,所有的函数都处于同一名称空间,也就是没有名称空间,因此就会很多程序提供的api接口函数都有一个前缀,例如MYSQL的mysql_init(),mysql_real_connect(),mysql_real_query()等函数名称前面的mysql_。 给你找的资料。 希望对你有所帮助。。

上一个:求这个C语言程序的解读步骤(求详细)
下一个:c语言指针怎么复习啊,太难了

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,