我是c编程的新手,我编写了一些简单的程序"Hello world"风格.
在所有这些程序中,我放在#include<stdio.h>
顶部,但我不确定这究竟是什么意思.我用谷歌搜索它,我发现stdio.h是一个具有预处理器命令的文件,但什么是预处理器?我想当我编写代码时,我编译它并且我的代码转换为"计算机"可以读取的形式然后我可以运行它.有人可以向我解释这个命令的用法是什么吗?
小智 32
它查找stdio.h
文件并有效地将其复制粘贴到此#include
语句的位置.该文件包含的功能,如所谓的函数原型printf()
,scanf()
......让编译器知道什么是他们的参数和返回值.
fkl*_*fkl 10
最简单的解释可能是您的程序调用或使用许多函数,其代码不是程序本身的一部分.例如,如果您在代码中编写"printf"来打印某些内容,则编译器不知道如何处理该调用.
stdio.h是该printf的信息所在的位置.
更新:
而是printf函数的原型(名称,返回类型和参数)驻留在stdio.h中.这是编译阶段所需的全部内容.printf的实际代码包含在编译后的链接阶段.
include语句基本上在实际编译之前插入所有函数原型.因此名称预处理器.
更新2:
由于问题集中在include语句(并且OP也询问了自己编写函数的定义,另一个重要方面是它是否写成(注意角括号)
#include <stdio.h>
Run Code Online (Sandbox Code Playgroud)
预处理器假定它是一个标准库头,并首先在系统文件夹中查找已安装编译器的位置.
如果程序员自己定义一个函数并将.h文件放在当前工作目录中,他会使用(注意双引号)
#include "stdio.h"
Run Code Online (Sandbox Code Playgroud)
以下说明了它,并且所有平台上的行为都是可移植的.