三种预编译指令和<>与""的区别

来源:互联网 发布:mac怎么看运行的程序 编辑:程序博客网 时间:2024/06/06 12:41

在C语言中有三种预编译指令.第一种是大家都熟悉的#include指令.这个指令用来包含头文件.

头文件的包含可以理解为,把那个.h文件里面所有的函数声明,都复制粘贴到咱们写#include这个指令的这一行的位置上.

第二个是#define宏定义指令.

举个例子讲一下,比如我:

#define LEN 80

这个程序里面,只要碰到LEN编译器就会在预编译阶段把LEN替换成80.比如我们在处理手机的界面.是多少X多少的.

然后我们想要换到平板里面,分辨率变了.咱们只需要小小的改动宏定义后面的常数就可以适配了(举个例子,可能不是很靠谱)

第三个就是条件判断语句#if.一般都是如下的方式使用的

#ifndef abc3_h //(中间有个空格)

#define abc3_h


#include <stdio.h>


#endif /* abc3_h */

这句话的意思是.如果包含了这个头文件就不包含,如果没包含就包含.

<>与""的区别.<>的意思是让编译器在系统编译器的函数库里面找名字相同的头文件.如果没有,编译器就会报错.

""会让编译器在""中指定的位置查找.直接写名字的话,会在相对路径里面查找(相对项目文件的路径).如果没有就会去<>的范围里面查找.

如果两者都没有就会报错

0 0