优点还是缺点?大牛带你深入剖析不一样的C语言( 四 )
比如C语言中你可以将一个浮点型数据赋给一个整型变量 , 编译时只会警告 , 因为会丢失精度 , 但是在 Java 中这样写就会报错 , 它在语法上就禁止你这样写 。 所以不同的语言对同样一个问题有不同的处理方式 。
大家想想这样导致的结果是什么?因为有歧义的程序也可以通过 , 这样就会有很多漏洞 , 黑客往往会抓住这些漏洞进行攻击 。 所以说C语言比较危险 。 这也是为什么C语言比较难学的原因 , 因为你学完之后编写一个程序很可能就是错的 , 但又很难发现 。 所以前面说C++ 从安全性上对C语言进行了升级 。
第二个是它的开发周期比较长 。 因为C语言是面向过程的语言 , 面向过程语言的一个特点就是写大项目的时候很容易“崩溃” 。 当代码上到 10 万行的时候很容易崩溃 , 会出现各种各样莫名其妙的错误 。 这时候就需要用另外一种思想将整个程序的框架重新设计一下 , 即用面向对象的思想设计 。 这也是C语言现在没有 Java 流行的原因 。
C语言的第三个缺点是可移植性不是特别强 。 这个主要是针对 Java 的 。 毕竟Java 的可移植性太强了 , 所以就显得C语言的可移植性不强 。 什么叫可移植性?就是说 Java 程序在哪个机器上都可以运行 , 而且结果一模一样 。 而C语言就不行 , C程序在其他机器上不一定能运行 。 而且就算能运行 , 结果可能也不一样 。
推荐阅读
- 许秀|meiko一句谦虚,RNG和showmaker大粉破防:我还是不接受冠军被偷
- ag战队|AG超玩会大名单四个辅助,却陷入辅助难题,网友:还是怀念爱思!
- 打野|英雄联盟:木木带征服者,团战能力还是差!可能这件装备你没出!
- theshy|The shy的22岁生日:王者归来还是暗淡退役?
- 百里守约|一诺还是不会玩蓝领野,久诚百里守约被张大仙“捧杀”,月光BP出了大问题被猪哼老王狂踩!
- 传奇世界|传奇世界:你知道战士搭配战士元神优缺点
- 巫妖王|魔兽世界:伯瓦尔不论是当摄政王,还是巫妖王,都是一个失败的人
- 神角技巧|魔兽怀旧服:NOTA又刷新毒蛇记录了 5狂暴很猛?头顶还是蓝天白云
- khan|卡特天花板男神白加入虎牙?这惊人的语速,是解说还是脱口秀?
- 剑三|欧皇还是内幕?玩家摸出玄晶却遭投诉,原来男友是策划!