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