用c语言编程的风格
老师说C语言是面向过程的编程语言,它能使用面向对象编程吗?如何使用?
C是面向过程的,在语言这一层面上并没有支持类和对象的概念,c++才支持的。但是,面向对象,本质上是一种编程和设计的思想。即使用纯C,仍然不妨碍人应用面向对象的编程思想。倘若研究过Linux的源代码就应该有点印象,它是纯C写的,但是里面很多函数指针,本质上是模块之间互相松耦合,体现的就是面向对象的设计思想。
谢谢邀请。
其实,“面向过程”和“面向对象”只是程序开发中的一种方法,或者说一种思想,大多数现代高级编程语言都能使用这两种编程思想,C语言当然也不例外。
只不过,有些编程语言在语法上支持“对象”,而C语言则没有原生的“对象”语法。不过借助于灵活的指针和结构体语法,在C语言程序开发中使用“面向对象”思想也是很简单的。
鉴于题主可能是C语言初学者,在开始讨论如何使用C语言进行“面向对象”开发之前,先介绍两个新函数——malloc() 和 free() 。
如果题主看过我之前文章的话,应该明白C语言程序每调用一次函数,系统就会在栈中分配一块栈帧给被调用函数,当函数执行完毕后,这部分栈帧就自动被系统收回了。
malloc() 函数的作用是申请一块指定大小的内存,它的C语言原型如下,成功时返回这块内存的首地址,失败时返回 NULL。
C语言程序中函数的局部变量占用的内存,是函数运行时,自动在其所属栈帧中分配的,所以局部变量会随着函数结束释放。不过,malloc() 向系统申请的内存在堆区里,这部分内存不会随着函数的退出自动释放,需要程序员自己使用 free() 函数释放:
C语言的编程环境有哪些?
C语言是现在学习编程语言的基础语言,计算机专业必需的语言,是由BCPL语言发展而来,也是高级结构语言,可以Windows、DOS、UNIX,Linux等平台上运行,具有跨平台和可移植非常好!所以它的编译器特多!下面给大家推荐几款CPU占用少,却方便调试的编译器:
1、Turbo C2.0官方版不仅是一款高效快捷的编译工具软件,还是一个非常易学易用的集成开发环境。适合不熟悉DOS环境软件操作的广大初学者。
3、WIN-TC,使用turbo C2为内核,提供WINDOWS平台的开发界面,因此也就支持WINDOWS平台下的功能,例如剪切、***、粘贴和查找替换等。而且在功能上也有它的独特特色例如语法加亮、C内嵌汇编、自定义扩展库的支持等。并提供一组相关***工具令你在编程过程中更加游刃有余,如虎添翼。WIN-TC简繁双语版可以正常运行于98、XP和win7等WINDOWS操作系统上
4、Microsoft Visual C++ 6.0(简称vc++6.0)是一款由Microsoft公司开发的比较好用而且比较经典的中文版C语言编程软件,Microsoft Visual C++6.0是以C++语言为基础的环境程序,整合了便利的工具和设计,以面向对象的可视化集成的编程系统。它不但具有程序框架自动生成、灵活方便的类管理、代码编写和界面设计集成交互操作、可开发多种程序等优点。
5、visual studio(简称VS)是美国微软公司的开发工具包系列[_a***_]。VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。所写的目标代码适用于微软支持的所有平台,包括Microsoft Windows、Windows Mobile、Windows CE、.NET Framework、.NET Compact Framework和Microsoft Silverlight 及Windows Phone。
一个完整的开发环境,包括文本编辑器、编译器/解释器、调试器、构建工具、以及图形用户界面等等。有的IDE包含了编译器/解释器,比如visual studio,Xcode,有的则是通过调用第三方编译器/解释器来实现,比如eclipse等等。
常见的文本编辑器
先来看看常见的文本编辑器,有编辑器之神vim,神之编辑器emacs领衔,这两款编辑器号称最好的编辑器,开源、免费、跨平台、扩展丰富,但是入门门槛比较高。
除了这两款以外,visual studio code,atom,ultredit,sublime text等等都是比较知名的文本编辑器,拥有非常好的交互界面,用户量也大,ultredit列模式非常强大,sublime text轻量级,但是扩展丰富。visual studio code和atom有大企业背书、支持,拥有很好的开源社区,并且非常现代化,非常好用。
常见的编译器
比较知名的编译器其实大家都接触到过,微软的MSVC编译体系,这个体系支持C/C++两种语言的编译,尤其是visual studio可以说是全世界最好的集成开发环境了,而visual studio是最好的C/C++开发环境。
GCC编译器,这个是目前最好的开源、并且完善的编译器,这也是在Linux/Unix下最好的编译环境,支持很多语言,并且已经相当成熟,是一套完善的通用解决方案。
LLVM+Clang,这是macOS下的一套解决方案,苹果公司为了解决GCC臃肿的毛病,苹果公司的原开发总监Chris,也是swift语言之父一首打造的,非常出色,支持C/C++/Objective C++/swift等C系编程语言。
常见的调试器
UNIX及UNIX-like下的调试工具,也是目前最好的调试器。比起VC、BCB等IDE的调试,在 UNIX平台下做软件开发,GDB的优点是具有修复网络断点以及恢复链接等功能,比BCB的图形化调试器有更强大。
最后看一看比较出色的C语言集成开发环境
目前比较好的C语言集成开发环境,主要有visual studio,Xcode,Clion,codeblocks,devc++,netbeans等等都是非常好的C语言集成开发环境。当然个有特色,建议大家自己去下载使用、体验以下,看看自己更喜欢或者说那款软件用着更顺手。
C语言作为一门偏底层的编程语言,历史比较悠久,编程环境其实很多,下面我简单介绍几款编程环境(软件),感兴趣的话,可以自己尝试下载一下:
1.VS Code:这是微软开发的一款免费、开源、跨平台的代码编辑器,可编辑的语言多达几十种,包括常见的C/C++,Java,Python等,支持常见的语法提示、自动补全、代码高亮、Git等功能,插件扩展丰富,生态环境良好,安装相关插件和gcc编译器后,可以当做一个简单的C/C++ IDE使用,轻巧灵活、方便快捷:
2.Sublime Text:这也是一个不错的代码编辑器,基本功能和VS Code差不多,支持的编程语言也非常多,自动补全、代码高亮、语法提示等功能也都非常不错,插件扩展也不错,配置gcc编译器后,也可也以当做一个C/C++编程环境,使用起来也非常不错:
3.Atom:这是GitHub专门为程序员开发的一个代码编辑器,免费、开源、跨平台,轻巧灵活,界面整洁,使用起来非常不错,可编辑的语言和很多,包括常见的C/C++等,常见的自动补全、语法检查等功能都不错,安装gcc编译器后,也可当做一个C/C++开发环境使用:
4.CodeBlocks:这是一个跨平台的C/C++开发环境,轻巧灵活,使用起来也非常不错,语法高亮、自动补全等功能也不错,支持插件扩展,可以创建常见的控制台应用、动态链接库等,感兴趣的话,可以尝试下载使用一下:
5.Visual Studio:这个大部分人都应该听说或使用过,宇宙第一IDE,在Windows平台下开发经常会使用到软件,各种功能都很全,包括常见的VB,C/C++,C#,Python开发等,这个软件都集成了,调试代码,项目管理都很方便,就是有些大,运行起来比较卡,初学者开始学习的话,不容易驾驭,但的确是一个非常不错的IDE环境,值得一试:
[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。转载请注明出处:http://www.wnpsw.com/post/22784.html