18新利最新登入C编程是如何工作的

C编程语言给你比其他语言更多才多艺,包括更好地控制你的计算机的内存。”width=
C编程语言给你比其他语言更多才多艺,包括更好地控制你的计算机的内存。
iStockphoto /思想库

C编程语言非常受欢迎,很容易看到为什么。在C编程效率,给程序员大量的控制。许多其他编程语言如c++、Java和Python使用C开发。

机会每天都在增加,如果你是个程序员,你不会使用C专门为你的工作。18新利最新登入然而,有几个学习C是非常有益的,即使你不经常使用它。原因如下:

广告

你可以读和写代码的软件,可以用在许多不同类型的计算机平台上,包括从小型微控制器到桌面、笔记本电脑和手机操作系统。

你会更好地理解高级语言在做什么在幕后,如内存管理和垃圾收集。这种理解可以帮助你编写程序,工作更有效率。

如果你是一个信息技术(IT18luck手机登录)专家,你也可以受益于学习c . IT专业人员经常写,维护和运行脚本作为他们的工作的一部分。一个脚本是一台计算机的操作系统的指令列表。某些脚本运行,电脑设置了一个执行环境称为控制壳牌。基于C,因为大多数操作系统运行贝壳C shell是一种流行的脚本适应IT人员使用的C。

本文介绍C背后的历史,看着C如此重要的原因,展示了一些基本的C代码的例子,探讨了C的一些重要特性,包括数据类型、操作、函数、指针和内存管理。18新利最新登入尽管这篇文章不是在C编程的指导手册,它覆盖使C编程独特的方式超越了前几章的平均C编程指南。

让我们首先看看C编程语言是从哪里来的,如何开发和今天已经在软件开发中扮演的角色。18新利最新登入

广告

C语言是什么?

最简单的方式来定义C是称之为计算机编程语言中,这意味着您可以用它来编写软件,电脑可以执行。结果可能是一个大型计算机应用程序,像Web浏览器,或者一个小的指令集嵌入到一个微处理器或其他计算机组件。

C语言是发达国家在1970年代早期在贝尔实验室,主要归功于Ken Thompson和丹尼斯·里奇的工作。程序员需要一个更加友好的UNIX操作系统的指令集,当时需要用汇编语言编写的程序。汇编程序,计算机的硬件直接通话,很长,很难调试,他们需要繁琐,耗时的工作添加新特性[来源:王]。

广告

汤普森的第一次尝试高级语言被称为B,对系统编程语言BCPL是基于。当贝尔实验室获得了数字设备公司(DEC) UNIX系统模型)时,汤普森的B更好地适应的要求更新、更好的系统硬件。因此,B的继任者,C,诞生了。到1973年,C是足够稳定,UNIX本身可以重写使用这种创新高级语言[来源:王]。

前C可以有效地使用在贝尔实验室之外,其他程序员需要一个文档,该文档解释了如何使用它。18新利最新登入1978年,这本书“C编程语言”Brian Kernighan和Dennis Ritchie,用C爱好者称为k和r或“白皮书”,成为C编程的最终来源。在撰写本文时,k和r的第二版,最早出版于1988年,仍在广泛使用。原,pre-standard版本的C称为k和r C基于这本书。

确保人们不创建自己的方言随着时间的推移,C开发人员通过1980年代创建标准语言。美国标准C,美国国家标准协会(ANSI)标准x3.159 - 1989,在1989年成为正式。国际标准化组织(ISO)的标准,1990年ISO / IEC 9899:1990,其次。后版本的C k和r引用这些标准及其后来的修正(C89人私下偷偷收藏盒式,C99)。你也可以看到C89称为“ANSI C,”“ANSI / ISO C”或“ISO C。”

C和它的使用在UNIX中只是一部分的操作系统发展到1980年代的繁荣。所有的改进对其前任,C还不容易使用为开发更大的软件应用程序。随着计算机变得更强大,需求增加的一个更简单的编程经验。这种需求促使程序员构建自己的编译器,因此自己的新的编程语言,使用c。这些新语言可以简化编码复杂的任务的移动部件。例如,像c++和Java语言,发达国家从C,简化了面向对象编程,编程方法,优化一个程序员重用代码的能力。

现在你知道一点背景,让我们看看C本身的机制。

广告

编辑和编译C代码

C是称为编译语言,这意味着你必须使用一个编译器将代码转化为一个可执行文件之前,您可以运行它。代码写入一个或多个文本文件,您可以打开,阅读和编辑在任何文本编辑器,比如Notepad在Windows, Mac文本编辑,并在Linux中。可执行文件是电脑可以运行(执行)。编译器检查错误的代码,如果它似乎是无错的,创建一个可执行文件。

我们看看进入C代码之前,我们一定可以找到并使用一个C编译器。如果您使用的是Mac OS X和大多数Linux发行版(比如Ubuntu),你可以添加一个C编译器,电脑如果你安装开发工具软件特定的操作系统。这些免费的C编译器的命令行工具,这意味着你通常会从命令提示符运行它们在一个终端窗口。这些C编译器的命令来运行一个“cc”或“海合会”加上一些命令行选项和参数,这句话说输入命令后再按回车键。

广告

如果您正在使用微软的Windows操作系统,或者你更喜欢使用图形用户界面,而不是一个命令行,您可以安装一个集成开发环境(IDE) C编程。IDE是一个接口,您可以编写代码,编译,测试,并迅速找到并修复错误。对于Windows,你可以购买微软Visual c++软件,对C和c++ IDE编程。另一个流行的IDE是Eclipse,一个免费的基于java IDE运行在Windows、Mac和Linux,并扩展用于编译C和许多其他的编程语言。

对于C,至于其他的计算机编程语言,编译器使用的版本是非常重要的。你总是想要使用一个版本的C编译器的新的或更新的比你使用的版本的C语言程序。如果你使用一个IDE,一定要调整你的设置,以确保IDE使用目标C版本计划你的工作。如果你在一个命令行,您可以添加一个命令行参数修改版本在以下命令:

gcc化c99 - o myprogram。exe myprogram.c

在上面的命令中,“海合会”调用运行编译器和其他的都是命令行选项和参数。添加“化”选项是紧随其后的是“c99”来告诉编译器使用C编译期间的c99标准版。“o”选项添加“myprogram紧随其后。exe”要求执行,编译器的输出文件,名为myprogram.exe。没有可执行自动命名为“o”。相反。最后论证“myprogram。c”表示文本文件编译c代码。简而言之,这个命令说:“嘿,gcc,编译myprogram。c使用C99 c编程标准,把结果放在一个名为myprogram.exe的文件。”Browse the Web for a complete list of options you can use with your particular compiler, whether it's gcc or something else.

与你的编译器安装,你准备项目C。我们先来看看一个简单的C程序的基本结构你可以写。

广告

最简单的C程序

让我们看看一个简单的C程序和使用它来理解C和C编译过程的基础知识。如果你有自己的电脑安装一个C编译器如前所述,您可以创建一个文本文件命名为样本。c和用它来跟随我们一步通过这个例子。注意,如果你离开了c的文件名,或如果你的编辑器添加. txt的名字,你可能会得到某种错误当你编译它。

这是我们的示例程序:

广告

/ *示例程序* /

# include < stdio . h >

int main ()

{

printf(“这是我的第一个程序输出! \ n”);

返回0;

}

编译和执行时,该程序指示计算机打印行”这是我的第一个程序输出!”然后停止。你不能比这更简单!现在让我们看一看每一行在做什么:

1号线,这是一种用C写评论,/ *和* /之间的一行或多行。

行# 2——包括命令告诉编译器看其他来源对于现有的C代码,尤其是库,文件,包括常见的可重用的指令。引用的标准C库函数获得用户的输入和输出到屏幕上。我们来看看图书馆更密切。

3号线,这条线函数的第一行定义。每一个C程序都至少有一个函数,或者一块代码代表电脑程序运行时应该做的事情。函数执行其任务,然后产生一个副产品,返回值,可以使用其他功能。至少,这个程序有一个名为主要如所示的函数返回值的数据类型int,这意味着整数。18新利最新登入当我们检查功能更多后,你会看到空括号是什么意思。

行4和7——指令函数包含在括号内。一些程序员开始和结束用大括号括起来的块在不同的行如下所示。18新利最新登入别人会把open-brace({)函数定义的第一行。虽然行代码在程序中没有单独的行上键入,程序员通常把每条指令在单独的行中,缩进与空间,使代码更容易阅读和编辑。

第5行——这是一个名叫printf函数调用一个函数。这个函数是stdio编码。h库包含从1号线,所以你不需要自己写。这个调用printf告诉它如何打印到屏幕上。最后\ n,在引号内,不是印刷的,虽然;它是一个转义序列指示printf在屏幕上移动光标到下一行。此外,正如你所看到的,每一行的函数必须以分号结束。

第6行,每个函数返回一个值必须包括这样的返回语句。在C语言中,主函数必须始终有一个整数返回类型,即使它不是在程序中使用。请注意,当你运行一个C程序,不过,你实际上是它的主要功能运行。所以,当你测试程序,你可以告诉计算机显示运行程序的返回值。18新利最新登入返回值为0是首选,因为程序员通常寻找价值测试确认程序运行成功。

当你准备测试程序,保存文件并编译和运行这个程序。如果你使用gcc编译器命令行,和程序文件中称为样本。c,可以用下面的命令编译:

gcc - o样本。exe sample.c

如果在代码中没有错误,你应该有一个文件名为sample。exe在同一个目录作为样本。运行此命令后c。最常见的错误是一个语法错误,这意味着你输错的东西,比如离开在一行的末尾将一个分号结束引号或括号。如果你需要做出改变,在你的文本编辑器中打开该文件,修复它,保存您的修改并再次尝试编译命令。

运行示例。exe程序,输入以下命令。注意。/这迫使电脑查看当前目录中找到可执行文件:

。/ sample.exe

这些都是基本的编码和编译C,虽然还有很多你可以从其他学习编译C编程资源。现在,让我们打开盒子看看C已经为构建程序。

广告

常见的编程概念C

让我们看看如何将一些常见的编程概念付诸实践18新利最新登入你的C代码。下面是一个快速的总结这些概念:

功能——如前所述,一个函数是一个代码块代表电脑程序运行时应该做的事情。有些语言调用这些结构方法,尽管C程序员通常不使用这个词。您的程序可能定义几个函数和调用这些函数与其他函数。之后,我们将仔细看看在C结构的功能。

广告

变量——当你运行一个程序,有时你需要灵活地运行程序提前不知道的值是什么。像其他编程语言C允许您使用变量时需要的灵活性。像代数中的变量,变量在计算机编程是一个占位符代表一个值,你不知道或还没有发现。

数据类型——为了您的程序运行时在内存中存储数据,和知道操作可以执行数据,编程语言如C定义了某些数据类型识别。每个数据类型在C有一定规模,以二进制位或字节,和一定的规则集位代表什么。到来,我们将会看到如何重要的是选择正确的数18新利最新登入据类型的任务,当你使用C。

操作——在C语言中,您可以执行算术运算(如加法)在数字和字符串操作字符串的字符(例如连接)。C还内置操作专门为您可能想要做的事情和你的数据。当我们检查数据类型在C语言中,我们将简要地看看操作,。

循环——一个程序员最基本的一件事要做的是重复一个动作次数根据特定条件,在程序运行时。一块代码重复设计基于给定的条件称为循环,和C语言提供了这些常见的循环结构:,做/,,继续/打破和转向。C还包括常见的if / then / else条件和switch / case语句。

数据结构——当你的程序有很多数据处理,你需要分类或搜索数据,您可能会使用某种形式的数据结构。数据结构是一种结构化的方式代表几块的数据相同的数据类型。最常见的数据结构是一个数组,也就是给定大小的索引列表。C库用于处理一些常见的数据结构,虽然你可以写函数和建立自己的结构,。

预处理操作——有时你会想给编译器和代码说明一些事情之前编译成可执行文件。这些操作包括用常量值,包括从C代码库(你看到前面的示例代码)。

C程序员也需要处理一些概念,许多编程语言简化或自动化。这些包括指针,内存管理和垃圾收集。后页面覆盖了重要的事情要了解这些概念在C编程。

这个快速概述的概念似乎已经压倒性的如果你不是一个程序员。在你继续解决密集的C编程指南,让我们友好的看着上面列出的核心概念之一,从功能。

广告

用C函数

大多数计算机编程语言允许您创建函数。功能让你砍了一个长节目为命名的部分,这样您就可以在程序中重用这些部分。对一些语言的程序员,尤其是那些使用面向对象的编程技术,使用术语方法而不是函数

函数接受参数并返回一个结果。的代码块包含一个函数是函数定义。下面是一个函数的基本结构定义:

广告

<返回类型> <函数名>(<参数>)

{

<报告>

返回适合返回类型> <值;

}

至少,一个C程序有一个函数命名为主要。编译器将寻找程序的主要功能为出发点,即使主函数调用其他函数。以下是简单的C程序的主要我们看到我们之前看的。它有一个返回类型的整数,没有参数,和有两个语句(指令函数)内,其中一个是它的返回语句:

int main ()

{

printf(“这是我的第一个程序输出! \ n”);

返回0;

}

以外的功能主要有定义和一个或多个函数调用。函数调用是一个语句或语句的一部分在另一个函数。函数调用的名称的函数调用括号紧随其后。如果函数的参数,函数调用必须包括这些参数对应的值匹配。这些额外的函数调用的一部分被称为向函数传递参数。

但是参数是什么?一个函数的参数是一个函数的特定数据类型的数据需要做的工作。用C函数可以接受任意数量的参数,有时被称为参数。每个参数添加到函数定义必须指定两件事:数据类型和功能块中的变量名。多个参数是由一个逗号分开。在以下函数,有两个参数,这两个整数:

int doubleAndAdd (int, int b)

{

返回((2 *)+ (2 * b));

}

接下来,让我们继续看功能,放大看他们如何适应一个更大的C程序。18新利最新登入

广告

函数原型

在C语言中,您可以添加一个函数定义在程序中的任何位置(在另一个函数除外)。唯一的条件是,你必须提前告诉编译器函数存在某处在之后的代码。你会做一个函数原型在程序的开始。原型是一个类似于声明的第一行定义。在C语言中,你不需要给原型中的参数的名称,数据类型。下面是函数原型会是什么样子的doubleAndAdd功能:

int doubleAndAdd (int, int);

广告

函数原型想象成程序的装箱单。编译器将解包和组装程序就像你可能解包和组装一个新书架。装箱单可以帮助你确保你所有的你需要的盒子在你开始组装的书架。编译器以同样的方式使用函数原型之前开始组装程序。

如果你按照样品。c程序我们看前,打开并编辑文件添加一个函数原型,函数定义和函数调用doubleAndAdd函数所示。18新利最新登入然后,编译和运行程序之前看到新代码是如何工作的。18新利最新登入您可以使用下面的代码试试指南:

# include < stdio . h >

int doubleAndAdd (int, int);

int main ()

{

printf(“这是我的第一个程序输出! \ n”);

printf(“如果你双然后添加2和3,结果是:% d \ n”, doubleAndAdd (2、3);

返回0;

}

int doubleAndAdd (int, int b)

{

返回((2 *)+ (2 * b));

}

到目前为止,我们已经看了一些基本结构元素在一个C程序。现在,让我们看一下类型的数据你可以处理在一个C程序和数据上可以执行哪些操作。

广告

在C数据类型和操作

从你的电脑的角度来看,您的程序都是一系列的1和0。数据类型在C告诉计算机如何使用其中的一些碎片。18新利最新登入”width=
从你的电脑的角度来看,您的程序都是一系列的1和0。数据类型在C告诉计算机如何使用其中的一些碎片。18新利最新登入
极盛时期/思想库

从计算机的角度来看,数据只是一系列的1和0代表了国家电子比特在硬盘或你电脑的处理器或内存。计算机上运行的软件你决定如何理解这些数以亿计的二进制位数。18新利最新登入C是为数不多的高级语言,可以很容易地操作数据在一些层面除了解释数据基于给定的数据类型。

一组数据类型是一个小的规则表明如何理解一系列碎片。18新利最新登入数据类型都有一个特定的大小再加上自己的方式执行操作(如加法和乘法)的数据类型。在C语言中,数据类型的大小与你使用的处理器。例如,在C99,一块数据的整数数据类型(int) 16位长在一个16位处理器而32位和64位的处理器是32位长。

广告

C程序员知道的另一个重要的事情是语言如何处理签署和无符号数据类型。18新利最新登入签名类型意味着它的部分之一是保留的指标是否它是一个积极或消极的数字。所以,当一个16位的无符号整型系统可以处理数字0到65535之间,在同一系统可以处理签署数字在-32768和32767之间。如果一个操作导致一个int变量超出其范围,程序员与额外的代码来处理溢出。

鉴于这些约束和系统特定的特性在C数据类型和操作,C程序员必须选择自己的基于项目的需要的数据类型。的一些数据类型的原始数据类型是他们可以选择C,意味着那些建在C编程语言。看你最喜欢的C编程指南的完整列表数据类型在C和重要的信息关于如何将数据从一种类型转换为另一个。18luck手机登录18新利最新登入

C程序员也可以创建数据结构,结合原始数据类型和一组函数,定义如何组织和操作数据。18新利最新登入虽然使用的数据结构是一种先进的编程的主题,超出了本文的范围,我们将看一看最常见的一种结构:数组。数组是一个虚拟列表包含的数据都是相同的数据类型。一个数组的大小不能被改变,虽然它的内容可以复制到其他更大或更小的数组。

虽然程序员经常使用数组的数字,字符数组,字符串,最独特的特性。字符串可以节省一些你可能会说(比如“你好”)为一系列字符,您的C程序可以读取从用户或打印在屏幕上。字符串操作等一系列独特的操作,它有自己的专用的C库(string.h)与你的典型的字符串函数。

内置的操作在C是典型的操作你会发现在大多数编程语言。当你将多个操作组合到一个声明中,一定要知道运算符优先级,或程序将执行每个操作的顺序在一个数学表达式。例如,(2 + 5)* 3 = 21而2 + 5 * 3 = 17岁,因为C将执行乘法之前加法,除非有括号表示。

如果你在学习C,使它成为一个优先熟悉所有的原始数据类型和操作和操作的优先级相同的表达式。同时,尝试不同的操作变量和数量的不同数据类型。

此时,您已经触及表面的一些重要的基本知识。不过,接下来,让我们看看如何C使您能够编写程序没有每次都18新利最新登入从头开始。

广告

不从头开始,使用库

在C库是非常重要的,因为C语言仅支持最基本的功能,它需要。例如,C不包含输入输出(I / O)函数来从键盘读取和写入到屏幕上。任何超出基础必须由程序员编写的。如果大块代码很有用到多个不同的程序,通常是放在一个图书馆,让它容易重用。

在我们的讨论C到目前为止,我们已经看到一个库,标准I / O(头)图书馆。程序的# include初行指示C编译器加载库命名stdio . h头文件。C维护者包括标准C库的I / O、数学函数,时间操作和常见的特定数据结构上的操作,比如一串字符。搜索Web或你最喜欢的C编程指南的信息C89 C99标准库的更新和补充。18luck手机登录

广告

你也可以写C库。通过这样做,你可以把你的程序为可重用的模块。这种模块化方法不仅便于包括相同的代码在多个项目,但它也使得短程序文件易于阅读,测试和调试。

使用头文件中的函数,为它添加一个# include行程序的开始。标准库,把图书馆的名称对应的头文件大于和小于符号()之间的关系。图书馆创建你自己,把双引号之间的文件的名称。与你的C程序的其他部分语句不同,你不需要把每一行的最后一个分号。下面显示了包括每种类型的图书馆18新利最新登入之一:

# include < math.h >

# include“mylib.h”

应提供全面的C编程来源说明您需要编写自己的库在C函数定义您将编写没有任何不同的他们是否在图书馆或在你的主程序。所不同的是,你会在一个叫做分别编译目标文件(名称以. o),就会创建第二个文件,称为头文件(名称以. h)包含对应于每个函数的函数原型在图书馆。你的头文件会参考你的# include线在每一个主程序,使用你的图书馆,你会包括对象文件作为参数的编译器命令每次编译程序。

C的特性我们探索到目前为止都是典型的在其他编程语言中,。不过,接下来,我们将讨论C如何管理你的电脑内存。18新利最新登入

广告

一些关于指针的指针在C

当你的C程序加载到内存(通常是随机存取存储器,或RAM,在你的电脑),每一块与一个地址相关联的程序在内存中。这包括您正在使用的变量持有某些数据。每次你的程序调用一个函数,它加载函数和它的所有相关数据到内存足够运行这个函数,返回一个值。如果你将参数传递给函数,C自动复制的价值在函数中使用。

有时当你运行一个函数,不过,你想要一些永久性的改变在原来的内存位置的数据。如果C复制功能,数据使用的原始数据保持不变。原始数据的如果你想改变,你必须通过一个指针的内存地址(通过引用)而不是它的值传递给函数(按值传递)。

广告

在C指针使用无处不在,所以如果您想要使用C语言你必须有一个好的理解的指针。指针是一个变量与其他变量,但其目的是存储其他数据的内存地址。还有一个数据类型的指针所以它知道如何识别位内存地址。18新利最新登入

当你看两个变量并排在C代码,你可能并不总是意识到指针。这可能是一个挑战,即使是最有经验的C程序员。当您首先创建一个指针,它更明显,因为必须立即星号在变量名之前。这被称为间接运营商c。下面的示例代码创建一个整数和一个指针指向一个整数p:

int我;

int * p;

目前没有价值分配给我或p。接下来,我们将值分配给我,然后将p点分配给我的地址。

我= 3;

p =我;

在这里你可以看到与字符(&)用作地址操作符立即之前,这意味着“我地址。”You don't have to know what that address is to make the assignment. That's good, because it will likely be different every time you run the program! Instead, the address operator will determine the address associated with that variable while the program is running. Without the address operator, the assignment p=i would assign p the memory address of 3, literally, rather than the memory address of the variable i.

接下来,让我们看看如何使用指针在C代码和18新利最新登入挑战你要做好准备。

广告

正确使用指针在C

如果你想成为精通C语言编程,你需要牢固地掌握如何有效地在您的代码中使用指针。18新利最新登入”width=
如果你想成为精通C语言编程,你需要牢固地掌握如何有效地在您的代码中使用指针。18新利最新登入
©iStockphoto.com/ DSGpro

一旦你有了一个指针,你可以使用的相同数据类型的变量和函数调用操作。在下面的例子中,我使用的指针,而不是我在更大的手术。星号使用p (* p)表明,p的操作应该使用价值指向的内存地址,而不是内存地址本身:

int b;

b = * p + 2;

没有指针,几乎是不可能的任务划分为功能以外的主要在你的C程序。为了说明这一点,请考虑您已经创建了一个变量在主叫做h存储用户的高度精确到厘米。你也叫你写一个函数命名setHeight提示用户设置高度值。你主要功能的线可能会看起来像这样:

int h;

setHeight (h);/ *这里有一个潜在的问题。* /

这个函数调用将试图通过h到setHeight的价值。18新利最新登入然而,当函数结束运行时,h会不变,因为函数的值只使用的一个副本,然后丢弃它完成运行。

如果你想改变h本身,你应该首先确保函数可以把一个指针到现有的值而不是一个值的新副本。setHeight的第一行,然后,将使用一个指针来代替一个值作为其参数(注意间接操作符):

setHeight (int *高度){/ *函数语句去这里* /}

然后,你有两个选择调用setHeight。首先是为h使用地址运算符传递的参数(h)。另一种方法是创建一个单独的h和传递,而不是指针。下面显示了两个选项:18新利最新登入

setHeight (h);/ * h的地址传递给函数* /

int * p;

p = h;

setHeight (p);/ *通过一个单独的指针指向的地址h函数* /

第二个选项使用指针时揭示了一个共同的挑战。面临的挑战是有多个相同的值的指针。这意味着任何一个值的变化会影响所有的指针。这可能是好事还是坏事,取决于你想完成你的计划。再次,掌握指针的使用是一个重要的掌握C编程的关键。尽可能多练习指针所以你要准备好面对这些挑战。

C的特性我们探索到目前为止都是典型的在其他编程语言中,。不过,接下来,我们来看看C要求仔细的内存管理。

内存管理的重要性

的一件事,使C这样的通用语言是程序员可以减少程序运行与少量的记忆。当C是第一次写,这是一个重要的特性,因为电脑没有像今天一样强大。与当前对小型电子产品的需求,从手机到微型医疗设备,有一个新的兴趣保持一些软件的内存需求小。C是大多数程序员的首选语言需要大量的控制内存使用。

为了更好地理解内存管理的重要性,考虑一个程序使用内存。18新利最新登入当你第一次运行一个程序,它加载到您的计算机的内存和开始执行了发送和接收指令从计算机的处理器。当程序需要运行一个特定的函数,它加载函数到另一个内存的时间运行的一部分,然后放弃记忆当函数完成。另外,每个新数据用于主程序占用内存的时间计划。

如果你想要更多的控制这一切,你需要动态存储分配。C支持动态存储分配,这是能够保留内存需要和自由内存只要你完成使用它。许多编程语言都有自动内存分配和垃圾收集处理这些内存管理任务。C,允许在某些情况下需要你明确关于内存分配标准C库的主要功能如下:

  • malloc,简称内存分配,malloc用于储备一块内存的大小故事一定类型的数据程序需要处理。当你使用malloc,你创建一个指向分配的内存的指针。这不是一块所需的数据,比如一个整数,即只要你分配首先声明(如int i)。然而,这是一个重要的部分创建和管理数组等数据结构。18新利最新登入C是备用内存分配选项calloc也清除内存保留的时候,和realloc尺寸之前保留内存。
  • 免费,使用免费强制程序之前释放内存分配给一个指针。

最佳实践在使用malloc和free是任何你分配应该被释放。只要你分配的东西,即使在一个临时的函数,它仍然在内存中,直到操作系统清理空间。确保内存是免费的,立即可以使用,不过,你应该在当前函数退出自由。这个内存管理意味着你可以把程序的内存占用降到最低,避免内存泄漏。内存泄漏是一个程序缺陷,它继续使用更多的内存,直到没有了分配,导致该项目停滞或崩溃。另一方面,不要那么担心你释放释放内存,从而失去,你需要在相同的功能。

在本文中,您了解了一些基本的C编程语言的结构和核心概念。我们看着它的历史,与其他编程语言的特点和重要的特性,使它成为一个独特的、多功能的选择编码软件。发射到下一页的更多信息,包括一些编程指南,将进一步把你你的旅程到C。18luck手机登录

经常回答问题

C编程和c++一样吗?
不。c++是一个扩展的C,不是同一种语言。
C编程的概念是什么?
C编程是一个概念,它允许程序员创建软件移植和高效。C编程基于C语言开发的贝尔实验室在1970年代。C编程是一个强大和灵活的语言,非常适合用于创建各种软件应用程序。

更多的信息18luck手机登录

相关文章

更大的链接

  • 克尼汉,Brian W。里奇,丹尼斯·M。“C编程语言,第二版。”Prentice Hall. 1988.
  • 国王,K.N.“C编程:一个现代的方法,第二版。”W.W. Norton & Company, Inc. 2008.
特色

广告

加载……
Baidu