C语言的优缺点
优点
1,运行速度快。C语言充分利用了计算机的优势,使C程序更加紧凑,运行速度更快。
2,强控制能力,有效利用内存空间。它具有汇编语言(汇编语言是一种底层语言,开发难度大,但是程序运行效率高)才具备的微调控能力,可以根据具体情况微调程序以获得最大运行速度或最有效地使用内存。
3,可移植性。C是可移植的语言,在一种系统中编写的C程序稍作修改或不修改就能在其他系统运行。如需修改,也只需简单更改主程序头文件中的少许项即可。可移植性是非常受人关注的,因为我们在这个系统中花费几个月编写的程序,如果现在突然需要在另外一个一个系统中使用,如果不具备可移植性,我们又需要在另外一个系统中重新花费几个月时间写程序。毫无疑问这个是非常低效的。
4,功能强大。例如UNIX 操作系统大部分是用C语言写的,其他语言(如,FORTRAN、Perl、Python、Pascal、LISP、Logo、BASIC)的许多编译器和解释器都是用c语言编写的。由此可见,C语言功能之强。
缺点
1,容易出现内存泄漏(讲人话就是,大量内存被浪费)。前面说了,C语言具有非常强的灵活性和强控制力,这就导致了如果设计者不小心,可能会导致大量的空间浪费。比如说,设计者申请了一块内存,使用完之后不释放。这样内存就出现了内存泄漏的问题。
2,容易出现变量莫名奇妙被更改了。举个例子,假设变量x为10。x这个数据存储在一个arr的数组后面,因为arr明明只有4个元素,但是它硬要访问第5个元素(术语叫做越界访问),而这第五个元素恰好就算x,那么元素x就会被强行更改。
学会C语言能干什么,或者说能找什么工作
1,嵌入式工程师(不懂的可以去B站搜郭天祥,稚晖君)。因为嵌入式工程师一般都是使用的单片机,单片机内存小,运行速度没有电脑这么快。所以需要一个高效灵活的语言,C语言毫无疑问就成了首选。
2,Linux工程师。C语言在Linux中具备极其重要的的角色,学Linux掌握C语言是必要的。
3,游戏工程师。我们平常玩的游戏很多都是C++写的,因为制作一款游戏需要对内存和运行速度尽可能的利用,不然内存太大下载和进入游戏都要半天,这游戏谁玩啊。而C语言和C++又有许多共同之处,可以说C++就是C语言的升级版本,学好了C语言,对之后学习C++很方便。
总结
看完这些,对C语言已经有一个简单的了解了。各位可以根据自己的需要是否学习C语言。虽然很多大学都要求学习C语言。但是如果自己之后不打算搞如上行业,C语言可以选择不学,直接学JAVA又不是不行。