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语言是学习其他语言的基础,拓实自己的基本功,然后再学习其他的语言将会事半功倍。


目录
相关文章
|
1月前
|
程序员 C语言 开发者
pymalloc 和系统的 malloc 有什么区别
pymalloc 和系统的 malloc 有什么区别
|
1月前
|
程序员 C语言 开发者
pymalloc 和系统的 malloc 有什么区别?
pymalloc 和系统的 malloc 有什么区别?
|
20天前
|
算法 编译器 C语言
【C语言】C++ 和 C 的优缺点是什么?
C 和 C++ 是两种强大的编程语言,各有其优缺点。C 语言以其高效性、底层控制和简洁性广泛应用于系统编程和嵌入式系统。C++ 在 C 语言的基础上引入了面向对象编程、模板编程和丰富的标准库,使其适合开发大型、复杂的软件系统。 在选择使用 C 还是 C++ 时,开发者需要根据项目的需求、语言的特性以及团队的技术栈来做出决策。无论是 C 语言还是 C++,了解其优缺点和适用场景能够帮助开发者在实际开发中做出更明智的选择,从而更好地应对挑战,实现项目目标。
44 0
|
2月前
|
存储 C语言
C语言中a 和&a 有什么区别
在C语言中,"a" 是一个变量的名字,代表存储在内存中的某个值。而"&a" 则是获取该变量的内存地址,即变量a在计算机内存中的具体位置。这两者的主要区别在于:"a" 操作的是变量中的值,"&a" 操作的是变量的内存地址。
228 23
|
2月前
|
存储 安全 编译器
在 C++中,引用和指针的区别
在C++中,引用和指针都是用于间接访问对象的工具,但它们有显著区别。引用是对象的别名,必须在定义时初始化且不可重新绑定;指针是一个变量,可以指向不同对象,也可为空。引用更安全,指针更灵活。
|
2月前
|
存储 C语言
C语言:普通局部变量、普通全局变量、静态局部变量、静态全局变量的区别
C语言中,普通局部变量在函数内部定义,作用域仅限于该函数;普通全局变量在所有函数外部定义,作用域为整个文件;静态局部变量在函数内部定义但生命周期为整个程序运行期;静态全局变量在所有函数外部定义,但仅在定义它的文件内可见。
110 10
|
2月前
|
程序员 编译器 C语言
C中的 malloc 和C++中的 new 有什么区别
在C语言中,`malloc`函数用于在运行时分配内存,返回指向所分配内存的指针,需显式包含头文件 `<stdlib.h>`。而在C++中,`new`不仅分配内存,还对其进行构造初始化,且直接使用类型声明即可,无需额外包含头文件。`new`还支持数组初始化,能更好地融入C++的面向对象特性,而`malloc`仅作为内存分配工具。使用完毕后,`free`和`delete`分别用于释放`malloc`和`new`分配的内存。
68 21
|
2月前
|
存储 C语言
C语言:结构体与共用体的区别
C语言中,结构体(struct)和共用体(union)都用于组合不同类型的数据,但使用方式不同。结构体为每个成员分配独立的内存空间,而共用体的所有成员共享同一段内存,节省空间但需谨慎使用。
|
2月前
|
存储 编译器 C语言
C语言函数的定义与函数的声明的区别
C语言中,函数的定义包含函数的实现,即具体执行的代码块;而函数的声明仅描述函数的名称、返回类型和参数列表,用于告知编译器函数的存在,但不包含实现细节。声明通常放在头文件中,定义则在源文件中。
|
2月前
|
存储 C语言
C语言指针与指针变量的区别指针
指针是C语言中的重要概念,用于存储内存地址。指针变量是一种特殊的变量,用于存放其他变量的内存地址,通过指针可以间接访问和修改该变量的值。指针与指针变量的主要区别在于:指针是一个泛指的概念,而指针变量是具体的实现形式。