C语言学习笔记:引用头文件所使用的符号区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言学习笔记:引用头文件所使用的符号区别相关的知识,希望对你有一定的参考价值。

C语言引用头文件使用的符号有两种,以头文件stdio.h为例:

(1)#include <stdio.h>

(2)#include “stdio.h”

这两种引用方式是存在不同的。

    第一种引用方式,编译器仅在标准库头文件中进行匹配;

    第二种引用方式,编译器先在工程目录下进行匹配,如果没有,再到标准库头文件中查找。

这里进行了测试,应用VC++6.0,新建文件,首先是主文件Test.c:

#include <child.h>

void main()
{
    Test();
}

然后,为了简化过程,只建立一个头文件,并直接在头文件内部放入函数实体,child.h:

#include <stdio.h>

void Test()
{
    printf("Hello World!\n");
}

 嗯!程序报错,错误原因:Cannot open include file: ‘child.h‘: No such file or directory.文件child.h未找到。

然后主文件改为:

#include "child.h"

void main()
{
    Test();
}

程序正常编译,输出结果:Hello World!

很好的说明了两种引用方式的不同。

然而,如果这时,再次将主文件引用方式改回:#include <stdio.h>,原来应该报错的程序居然顺利运行了。。。(原因不知道啊,可能是编译器的缺陷,或者编译器自动优化了吧)。针对这一情况,采用VS2015重新重复上述操作过程,不会出现VC++6.0中本应报错的程序通过运行的情况。

所以,编程时,系统本身存在的头文件最好用<>来引用,用户自定义的头文件必须用""来引用。

以上是关于C语言学习笔记:引用头文件所使用的符号区别的主要内容,如果未能解决你的问题,请参考以下文章

C语言中include““与include<>的区别(自定义头文件预设头文件)

酷熊科技工作积累 ----------- Unity3D / c 语言 使用 Stringbuilder 引用头文件 using System.Text

C语言中include““与include<>的区别(自定义头文件预设头文件)

Linux下Makefile学习笔记

dcmtk lnk2019 无法解析外部符号

未解决的对“片段”部分中的符号“”的引用