C语言个人感悟以及与C++之间的区别之经典

简介: C语言个人感悟以及与C++之间的区别之经典

第一个:C与C++之间的关系


首先,要知道C语言的发展,它是由美国的贝尔实验室研制成功的,在当时是算是非常高级的语言,它本身很多新特性都让汇编程序羡慕不已,红极一时,后来很多语言都是采用C语言开发,包括Windows、Linux等。但是,随着计算机性能的飞速发展和提高,硬件配置与十几年前已经有天壤之别,软件规模也不断增大,很多软件的体积都超过了1G,例如VS等,用C语言开发这些软件显得非常困难。


最后,C++主要在C语言的基础上增加了面向对象和泛型的机制,提高了开发效率,能够适用于大中型软件的编写。


随着C++的快速发展,它的语法也越来越强大,C++的新特性也越发的显现出来,现就C++与C语言之间的关系列举如下:


78a033a802d349af87f5a3ead8b5fc4d.png

第二个:学习C语言到底能实现什么功能?


随着时间的发展,大部分的编程语言不是针对某个特定领域设计的,它们可以完成的事情也很多,比较通用化。但是在长期的实践过程中,这些编程语言逐渐都找到了自己的位置。


     例如:java可以用于网站开发,Android开发,PC软件开发,在大数据领域也可以使用。


               Python主要用于系统维护,网站后台开发,数据分析,人工智能,云计算等领域。


               Go语言可以用于服务器,通讯等较底层的开发,还用于网站后台开发。


今天的一个主角是C语言,并没有针对某个领域进行优化,就目前而言,C语言主要用于较底层的开发,例如:


1:Windows、Linux、Unix 等操作系统的内核90%以上都使用C语言开发;


2:开发硬件驱动,让硬件和操作系统连接起来,这样用户才能使用硬件、程序员才能控制硬件;


3:单片机和嵌入式属于软硬件的结合,有很多使用C语言的地方;


4:开发系统组件或任务,用于支撑上层应用。


5:编写PHP扩展,增强PHP的功能。


6:如果对软件某个模块(例如算法和搜索部分)的效率要求较高,也可以使用C语言来开发。


    在项目的实际开发过程中,C语言也可以用于PC软件开发,做出类似QQ,迅雷等带界面的程序,但是由于C语言开发效率低,第三方库较少,实际项目中已经没有人这么操作了,大家基本上都在使用C++。


第三个:初学者的疑问有哪些?


     C语言只是一个工具,它的标准比较简单,只是提供了最基本的功能,如果希望开发出使用的程序,往往还需要学习其他方面的知识。


1、开发硬件驱动要学习数字电路,了解 Windows 或 Linux 内核,阅读硬件厂商的接口说明书;


2、从事嵌入式开发要学习数字电路、模拟电路、ARM、Linux、Qt等;


3、开发PC软件要学习Windows编程,了解 GTK。


第四个:如何学习底层知识


1、关于数据结构、算法、内存、线程、进程、通信、操作系统等这些基本的知识,重要的是理解概念,知道计算机是怎么回事,千万不要深入细节,把自己绕进去,耽误一两年的功夫,要尽早跳出来去做应用开发,找到兴趣点,获得成就感。


2、C语言主要是让你入门的,强化自己的编程思维,为以后的职业生涯打下坚实的基础,不是用来做开发的。真正学好C语言必须在实际的开发过程中,遇到问题,哪里理解不了,可以回来回顾这些知识,再深入学习。只有在实际开发过程中才能找到重点。


3、C语言主要的优势在于运行效率极高,这是底层开发最为看重的。有非常大的使用价值,加油。


     总结:学好C语言是学习其他语言的基础,拓实自己的基本功,然后再学习其他的语言将会事半功倍。


目录
相关文章
|
14天前
|
程序员 C语言 开发者
pymalloc 和系统的 malloc 有什么区别
pymalloc 和系统的 malloc 有什么区别
|
10天前
|
程序员 C语言 开发者
pymalloc 和系统的 malloc 有什么区别?
pymalloc 和系统的 malloc 有什么区别?
|
23天前
|
存储 安全 编译器
在 C++中,引用和指针的区别
在C++中,引用和指针都是用于间接访问对象的工具,但它们有显著区别。引用是对象的别名,必须在定义时初始化且不可重新绑定;指针是一个变量,可以指向不同对象,也可为空。引用更安全,指针更灵活。
|
1月前
|
存储 C语言
C语言中a 和&a 有什么区别
在C语言中,"a" 是一个变量的名字,代表存储在内存中的某个值。而"&a" 则是获取该变量的内存地址,即变量a在计算机内存中的具体位置。这两者的主要区别在于:"a" 操作的是变量中的值,"&a" 操作的是变量的内存地址。
115 23
|
28天前
|
存储 C语言
C语言:普通局部变量、普通全局变量、静态局部变量、静态全局变量的区别
C语言中,普通局部变量在函数内部定义,作用域仅限于该函数;普通全局变量在所有函数外部定义,作用域为整个文件;静态局部变量在函数内部定义但生命周期为整个程序运行期;静态全局变量在所有函数外部定义,但仅在定义它的文件内可见。
40 10
|
1月前
|
程序员 编译器 C语言
C中的 malloc 和C++中的 new 有什么区别
在C语言中,`malloc`函数用于在运行时分配内存,返回指向所分配内存的指针,需显式包含头文件 `<stdlib.h>`。而在C++中,`new`不仅分配内存,还对其进行构造初始化,且直接使用类型声明即可,无需额外包含头文件。`new`还支持数组初始化,能更好地融入C++的面向对象特性,而`malloc`仅作为内存分配工具。使用完毕后,`free`和`delete`分别用于释放`malloc`和`new`分配的内存。
51 21
|
26天前
|
存储 C语言
C语言:结构体与共用体的区别
C语言中,结构体(struct)和共用体(union)都用于组合不同类型的数据,但使用方式不同。结构体为每个成员分配独立的内存空间,而共用体的所有成员共享同一段内存,节省空间但需谨慎使用。
|
30天前
|
存储 编译器 C语言
C语言函数的定义与函数的声明的区别
C语言中,函数的定义包含函数的实现,即具体执行的代码块;而函数的声明仅描述函数的名称、返回类型和参数列表,用于告知编译器函数的存在,但不包含实现细节。声明通常放在头文件中,定义则在源文件中。
|
30天前
|
存储 C语言
C语言指针与指针变量的区别指针
指针是C语言中的重要概念,用于存储内存地址。指针变量是一种特殊的变量,用于存放其他变量的内存地址,通过指针可以间接访问和修改该变量的值。指针与指针变量的主要区别在于:指针是一个泛指的概念,而指针变量是具体的实现形式。
|
1月前
|
存储 编译器 C语言
C语言:数组名作为类型、作为地址、对数组名取地址的区别
在C语言中,数组名可以作为类型、地址和取地址使用。数组名本身代表数组的首地址,作为地址时可以直接使用;作为类型时,用于声明指针或函数参数;取地址时,使用取地址符 (&),得到的是整个数组的地址,类型为指向该类型的指针。