在C语言中,预处理命令主要包含三方面的内容,分别是:1)宏定义;2)文件包含;3)条件编译。这三个都以#标识符作为开头。下面分别介绍。
预处理命令之一:宏定义
宏定义又叫宏替换,宏代换,简称宏。宏定义的主要作用是提高代码的观赏性,并能在一定程度上提高程序的运行效率。在编程时,可能会反复用到一些常量,为了不用每次都把这个常量写一遍,可以使用宏定义。如下所示:
上图中定义了两个宏定义,其含义时,在程序中遇到PI时就用3.1415926去代替。
预处理命令之二:文件包含
在C语言中,文件包含是指一个源文件可以将另一个源文件的全部内容包含进来。其作用是在预编译时,将指定源文件的内容复制到当前文件中。对于文件的包含大家最熟悉的就是:#include<stdio.h>。在编译文件时,首先进行预编译,将头文件sthio中的内容引用过来,在当前文件中直接调用。有两种写法:
1.第一种:#include<文件名>
在C语言库函数头文件所在的目录中寻找文件。
2.第二种:#include”文件名”
先去源程序所在文件夹下去寻找,如果找不到,再到操作系统的path路径查找,最后才到C语言函数头文件所在的目录中寻找文件。
预处理命令之三:条件编译
所谓条件编译,就是在编译时对满足条件的进行编译,不满足条件的不编译,最常用的就是在头文件编译中,为了防止头文件重复调用。条件编译常用的符号有:#define、#undef、#ifdef、#ifndef、#if、#elif、#else、#endif等。
上图中条件编译的作用就是防止头文件被重复调用。
由上可见,预处理命令都是以#作为开头的,所以#不能去掉,否则编译会出错。
以上就是这个问题的回答,感谢留言、评论、转发。
更多精彩内容请关注本:玩转嵌入式。感谢大家。