C语言教程:#include指令

2018-10-1307:45:52编程语言入门到精通Comments3,033 views字数 1190阅读模式

#include预处理器指令用于将给定文件的代码导入(粘贴)到当前文件中。它用来包括系统定义和用户定义的头文件。如果未找到包含的文件,则编译器会呈现错误。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/6613.html

通过使用#include指令,我们向预处理器提供文件名以查找头文件。使用#include指令有两种变体。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/6613.html

  1. #include
  2. #include “filename”

#include <filename>告诉编译器查找保存系统头文件的目录。在UNIX中,它是\usr\include目录。
#include “filename”指示编译器查看运行程序的当前目录。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/6613.html

#include指令示例文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/6613.html

下面来看看一个#include指令的简单例子。在这个程序中,我们包括stdio.h文件,因为在这个stdio.h文件中定义了printf()函数。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/6613.html

#include <stdio.h>  
main() {  
   printf("Hello C");  
}
C

执行上面示例代码,得到以下结果 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/6613.html

Hello C
Shell

#include注意事项:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/6613.html

事项1:在#include指令中,注释不被识别。所以在#include <a//b>的情况下,a//b将被视为文件名。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/6613.html

事项2:在#include指令中,反斜杠被认为是普通文本不是转义序列。所以在#include <a\nb>的情况下,\nb被视为文件名。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/6613.html

事项3:只能在文件名后使用注释,否则会给出错误。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/6613.html

#include、#include 与 #include “xxx.h”的区别:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/6613.html

  • #include<xxx.h>:系统自带的头文件用尖括号括起来,这样编译器会在系统文件目录下查找。假如你编译器定义的自带头文件引用在 D:\worksp\inc\ 下面,则#include<stdio.h> 引用的就是 D:\worksp\inc\stdio.h 这个头文件,不管你的项目在什么目录里, D:\worksp\inc\stdio.h 这个路径就定下来了,一般是引用自带的一些头文件,如:stdio.hconio.hstring.hstdlib.h 等等。
  • #include “xxx.h”:用户自定义的文件用双引号括起来,编译器首先会在用户目录下查找,然后在到C++安装目录(比如VC中可以指定和修改库文件查找路径,Unix和Linux中可以通过环境变量来设定)中查找,最后在系统文件中查找。
    假如你的项目目录是在 D:\Projects\tmp\ ,则 #include "my.h" 引用的就是D:\Projects\tmp\my.h 这个头文件,一般是用来引用自己写的一些头文件。如果使用#include "" ,它是会先在你项目的当前目录查找是否有对应头文件,如果没有,它还是会在对应的引用目录里面查找对应的头文件。例如,使用 #include "stdio.h" 如果在你项目目录里面,没有 stdio.h 这个头文件,它还是会定位到 D:\worksp\inc\stdio.h 这个头文件的。
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/6613.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/ymba/6613.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定