你好, 欢迎｡
在这堂课中, 我想谈谈 关于include语句｡
所以,
从我们第一次 挑战我们第一次接触c代码和c程序, 您应该 我注意到这个include语句｡
在这的第八行 这是我们挑战项目基本c程序的例子｡
你看, 这是包括在内的｡
现在因为我们已经了解到
我们知道它是一个预处理器指令 因为我们有磅符号｡
任何以
任何其他空格之前的磅号是预处理器命令, 预处理器指令｡
所以我们知道第八行包括 带有磅的special关键字是预处理指令｡
我现在要向大家解释 这到底是干什么的
这是什么意思呢？
同样, 这是c语言中的基本概念｡ 我们需要在很早之前就讨论它,
因为每个c程序都有它｡
如果你熟悉的话, 这是非常相似的 用java的import语句｡
但我们将在 现在在一些幻灯片中详细介绍,
但您将在所有c程序中看到这一点｡
所以include语句是一个 预处理器指令, 因为我们知道有一个磅号｡
我们称之为陈述
真实的理由地反对一项指令, 仅仅因为 在编程语言中使用该术语, 但在技术上它是一个指令｡
同样, 我们的例子 程序在这些尖括号中包含了这个东西
我们看到这个include关键字 然后我们看到这个stdio｡ h.工作人员
这是一个例子｡
这是我们 我们第一次挑战时用的｡
它不是严格意义上的 可执行程序｡
但是, 程序 没有它就不行｡
我们知道这是一个 预处理指令｡
它的作用并不如 程序是如何运作的｡
它只是告诉编译器 在它运行之前, 嘿, 我们在这里做了一些事情,
包括｡
所以如果你没有 编译器将在那里发出抱怨并抛出错误｡
所以你需要它｡
磅表示 这是一个预处理指令
我们谈过了 编译器执行某些操作的指令
编译源代码｡
有很多很多的预处理 指令, 我们在预处理课程中给出了一些例子｡
我们讨论过常数, 定义的语句｡
我们讨论过if和else 从而与条件预处理指令不同｡
但这是我见过的 常用的方法包括｡
同样, 这些指令可以 在源代码中的任何位置, 但它们通常在顶部｡
在include中, 此 include预处理器指令与import语句非常相似
如果你熟悉的话｡
但这意味着什么呢？
所以在上面的例子中 包括磅stdio｡
h, 这是在告诉编译器 以将某些程序内容包含在具有该名称的文件中｡
所以有一个文件名 存在于一个叫做stdio的地方｡ h.工作人员
指令的意思是
包含该指令的当前程序需要一些内容 以进行编译｡
因此, 具体来说, 指令的文件名将以结尾｡
h.工作人员
这些文件称为头文件｡
它们被称为头文件 因为它们通常包含在源文件的顶部｡
这是你做的第一件事 包括所有的头文件｡
同样,
这个预处理器 指令的意思是我想要那个文件里的一些内容｡
这不是c文件｡
我们知道文件结尾 在中｡ c是c源文件｡
所以了｡ h必须是 其他的东西, 它是｡
这是一个头文件｡
它有这个｡ h扩展名｡
那么我们来谈谈 什么是头文件｡
头文件定义信息 关于该文件提供的一些功能｡
我给予你们举个例子 头文件中的内容｡
但首先, 他们定义了一些 有关某些源代码的信息｡
特别是在我们的例子中 其中包括STDIO｡ h, 这包括c标准库头｡
所以记住我告诉过 你对图书馆的看法｡
库只是附加的
已经为您编写的功能和您 可以包含在您的程式中, 因此您不必重新撰写它｡
同样, 库的例子有 阅读和写入控制台､ 显示输出､
读取和 写文件, 各种各样的事情, 做网络代码,
很多 很多不同的图书馆｡
但是stdio｡ h是c标准库｡
这意味着
c编程语言, 并且它提供用于显示 产量和其他许多东西｡
太棒了｡ h, 这是一个头文件｡
它定义了一些功能, 编译器在实际使用它之前需要了解它｡
所以特别是stdio｡ h包含 有关printf信息
所以我们要谈谈
关于printf在下一节课中, 它帮助我们显示输出, 但printf是一个在stdio中的函数｡
h头文件｡
它还包含 许多其他功能｡
Stdio是的缩写 标准输入输出｡
这个库描述了 它包含用于处理输入和输出的功能｡
所以这就是 使用一个有意义的名字｡
我们不想把它称为 图书馆杰森或杰森｡ 因为那没有意义｡
我们使用stdio｡ h因为 它说的是标准io｡
标准输入和输出, 我们知道 这个库包含了所有导入alpha的功能｡
特别是 我们要在挑战计划中使用, 也就是我们的示例优先计划
我们想使用这个函数printf, 它允许我们
将输出显示到控制台｡
所以通过包括这个stdio｡ 小时英寸 我们的源代码, 我们说为了使用这个功能
printf, 我们需要包含此文件｡
因此, 头火灾将指定
编译器用来集成和利用任何重用的信息 代码､ 程序中的任何函数｡
所以你要么用很多 有许多不同的标准库头文件, 在那里,
stdio｡ h只是一个｡
这里也有头文件定义 网络代码､
套接字代码的功能或函数原型｡
同样, 我们将通过一个 很多, 完整单词的字符串之类的｡
但除了c标 c语言编程附带的不同库中的 语言,
您也可以建立自己的头文件,
而且您将 创建您自己的头文件, 因为头文件允许软件重用｡
它们允许您重复使用 用C编写的功能｡
c语言的设计者在某处写道 所有这些读写数据并处理输入和输出的c代码｡
他们不想让这个新的c程序员 不得不自己写｡
所以他们会写 他们会说你可以使用它｡
而你使用它的方式是 请包括头文件｡
所以你作为你自己的开发者, 你可以在一个很大很大的程序中写一些代码, 成千上万的文件
您想要在其他档案中使用的档案｡
所以你会写 您自己的头文件｡
同样,
头文件 会定义函数原型､
不同的常数 各种不同的东西来帮助别人 可以使用您的程序的文件, 它将有助于编译您的程序｡
所以这是一个软件重用 技术｡
所以我们要把这个 标准io｡ 程序中的头文件,
无论何时我们需要使用 标准库中的printf函数, 它是必需的｡
如果你不把 它就不会编译｡
因此, 无论何时使用
您必须使用include｡
头文件的语法 go, 它们区分大小写｡
区分大小写的方法 大写或小写｡
重要的是 做一个或另一个｡
所以你应该 用小写字母写｡
您的头文件应该位于 小写, 因为否则某些系统可能会将
它们具有不同的含义｡
有两种方法可以包含 程序中的头文件｡
您可以使用尖括号 比如磅, 包括杰森｡
h和尖括号｡
这通常意味着 告诉预处理器在某种系统目录中查找文件｡
它通常是一个标准库, 是c语言的一部分｡
您也可以使用双引号｡
双引号通常表示 它是用户定义的头文件｡
它是你创造的
开发者并没有使用c语言, 但是 因为您希望重用某些代码, 所以希望在此处使用标头｡
所以它也会说 请在当前目录中查找｡
每个符合的c编译器 到C11标准将有一组标准报头
文件｡
这些只是头文件 表示库的函数｡
C功能, 是语言的一部分｡
当您使用include指令时, 通常的做法是使用其他预处理器指令, 如果不
查找和定义, 这样就不会多次包含该文件｡
这是为了提高效率｡
所以如果你的程序使用printf, 例如,
在屏幕上显示输出, 您希望告诉程序, 嘿,
我需要在标准库中包含这个附加功能｡
你不想把它告诉 包括它, 因为预处理器将执行许多
一些不需要做的事情｡
因此, 通常您会 如果未定义, 则使用｡
所以你会在一些
在我提供的示例中, 我将include封装在if中 而不是定义和定义语句｡
下面是一个 头文件｡
您可能有一些头文件, 里面有一些注释, 也可以有其他内容｡
它主要有功能 原型, 但它可以有常量,
它可以有typedef｡
这些概念 我们还不明白｡
但我只是想说明 试图帮助你理解它包含了许多不同的东西｡
但再次为我们的stdio｡ 还有
这里有一个叫做printf的函数定义了printf函数 以便在链接时可以找到它的实现代码｡
这里有一些函数原型｡
函数原型是 只是函数的名称｡
我们知道函数是什么 希望到目前为止,
它只是一种将代码组合在一起的方法｡
我们将讨论函数 稍后将详细介绍｡
因此头文件可以包含 很多很多不同的东西｡
它可以包含定义的指令, 常数､ 结构宣告｡
这也是一种将不同 变量, 分组不同数据
Typedef语句具有 与数据类型有关｡
我们会详细讨论的｡
但是函数原型是 真正重要的一个｡
他们告诉你 定义, 以便编译器可以生成所需的代码｡
可执行代码 在源代码文件中｡
源代码文件结束 中设置网格颜色. c扩展名｡
可执行代码通常 不会出现在头文件中｡
也有一些例外｡
当您想要以内联方式执行操作时 这也是一个效率问题, 当你可以把 源代码转换为头文件,
但通常是｡ h文件, a 头文件将不包含实现代码
它将包含行 定义的代码｡
好吧, 我不会 有什么逻辑可言｡
这只是定义｡
此函数存在｡
该功能存在｡
这些常数存在｡
存在这些不同的结构｡
他们没说这个密码 正在做它正在做的事｡
它只是告诉你它就在那里｡
编译器需要它 以生成链接｡
好吧, 所以你要 创建您自己的头文件｡
您将使用系统标头 档案以取得其他功能｡
这是一个概念, 你需要
在继续编写c程序之前, 请先了解 您将在所有程序中看到这个include指令｡
它只是告诉程序 我们在某处加入了一个额外的代码｡
我们还增加了
代码, 这样我们就可以在 不同的代码｡
所以我希望这是有意义的｡
再说一次, 这不是真实的 复杂的概念｡
我们将包括附加代码｡
很直观, 但是 我们将详细介绍它,
我们将提供更多的例子｡
-谢谢—谢谢