您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
什么是c语言?
语言,变量,都是什么是c语言?
发布时间:2016-12-08加入收藏来源:互联网点击:
语言特点
回答于 2019-09-11 08:43:50
是一种排在B语言后的一种语言
回答于 2019-09-11 08:43:50
是a语言,b语言之后的第三种语言,
回答于 2019-09-11 08:43:50
C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发,C语言能以简易的方式编译、处理低级存储器,并且C语言还具有仅产生少量的机器语言,和不需要任何运行环境支持就可以运行等特点;
说到C语言的应用,最著名的应用领域应该就是操作系统了,目前的操作系统内核可以说都是C语言编写的,像Unix和Linux,其次在单片机上C语言的表现也称得上是独步天下;
这主要得益于C语言在位操作上的优越性,虽然现在也出现了一些用其他编程语言操作单片机的方法,但都是用C语言封装过的,其核心可以说还是C语言;
另外,我们平常用的驱动程序、编译器、系统服务等,很多也都是用C语言编写的,但在具体的应用软件领域,由于C语言不具备成熟的开发框架,所以一般不用来开发大型的应用程序。
回答于 2019-09-11 08:43:50
一种比较底层的高级开发语言。操作系统(LINUX,WINDOWS)都是用它结合汇编开发出来的。很多著名软件也都是用它开发出来的。一些编程语言最初也是用C开发出来的。
回答于 2019-09-11 08:43:50
程序设计语言的一种
回答于 2019-09-11 08:43:50
C语言是一种通用的编程语言,广泛用于系统软件与应用软件的开发。于1969年至1973年间,为了移植与开发UNIX操作系统,由丹尼斯·里奇与肯·汤普逊,以B语言为基础,在贝尔实验室设计、开发出来。
C语言具有高效、灵活、功能丰富、表达力强和较高的可移植性等特点,在程序设计中备受青睐,成为最近25年使用最为广泛的编程语言[2]。目前,C语言编译器普遍存在于各种不同的操作系统中,例如Microsoft Windows、macOS、Linux、Unix等。C语言的设计影响了众多后来的编程语言,例如C++、Objective-C、Java、C#等。
二十世纪八十年代,为了避免各开发厂商用的C语言的语法产生差异,由美国国家标准局为C语言订定了一套完整的国际标准语法,称为ANSI C,作为C语言的标准。二十世纪八十年代至今的有关程序开发工具,一般都支持符合ANSI C的语法。
C语言的特色之一是:程序员必须亲自处理内存的分配细节。
大多数C语言实现使用栈(Stack)来保存函数返回地址/栈帧基址、完成函数的参数传递和函数局部变量的存储。然而,在部分极特殊的平台上,使用栈并不能获得最大效率。此时的实现由编译器决定。 如果程序需要在运行的过程中动态分配内存,可以利用堆(Heap)来实现。
基本上C程序的元素存储在内存的时候有3种分配策略:
静态分配
如果一个变量声明为全局变量或者是函数的静态变量,这个变量的存储将使用静态分配方式。静态分配的内存一般会被编译器放在数据段或代码段来存储,具体取决于实现。这样做的前提是,在编译时就必须确定变量的大小。 以IA32的x86平台及gcc编译器为例,全局及静态变量放在数据段的低端;全局及静态常量放在代码段的高端。
自动分配
函数的自动局部变量应该随着函数的返回会自动释放(失效),这个要求在一般的体系中都是利用栈(Stack)来满足的。相比于静态分配,这时候,就不必绝对要求这个变量在编译时就必须确定变量的大小,运行时才决定也不迟,但是C89仍然要求在编译时就要确定,而C99放松了这个限制。但无论是C89还是C99,都不允许一个已经分配的自动变量运行时改变大小。
所以说C函数永远不应该返回一个局部变量的地址。
要指出的是,自动分配也属于动态分配,甚至可以用alloca函数来像分配堆(Heap)一样进行分配,而且释放是自动的。
动态分配
还有一种更加特殊的情况,变量的大小在运行时有可能改变,或者虽然单个变量大小不变,变量的数目却有很大弹性,不能静态分配或者自动分配,这时候可以使用堆(Heap)来满足要求。ANSI C定义的堆操作函数是malloc、calloc、realloc和free。
上一篇:26岁,工资4千,没学历,没技术,学点什么才不后悔?
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |