设为首页收藏本站
电子基础网 首页 C语言基础知识 查看内容

C语言预处理指令总结

2017-1-21 18:41| 发布者: 佚名| 查看: 263| 评论: 0

摘要: 预处理指令是以#号开头的代码行。#号必须是该行除了任何空白字符外的第一个字符。#后是指令关键字,在关键字和#号之间允许存在任意个数的空白字符。整行语句构成了一条预处理指令,该指令将在编译器进行编译之前对源 ...

预处理指令是以#号开头的代码行。#号必须是该行除了任何空白字符外的第一个字符。#后是指令关键字,在关键字和#号之间允许存在任意个数的空白字符。整行语句构成了一条预处理指令,该指令将在编译器进行编译之前对源代码做某些转换

下面是本章涉及到的部分预处理指令:

指令说明
#空指令,无任何效果
#include包含一个源代码文件
#define定义宏
#undef取消已定义的宏
#if如果给定条件为真,则编译下面代码
#ifdef如果宏已经定义,则编译下面代码
#ifndef如果宏没有定义,则编译下面代码
#elif如果前面的#if给定条件不为真,当前条件为真,则编译下面代码
#endif结束一个#if……#else条件编译块


预处理功能是C语言特有的功能,它是在对源程序正式编译前由预处理程序完成的。程序员在程序中用预处理命令来调用这些功能。

宏定义可以带有参数,宏调用时是以实参代换形参。而不是“值传送”。

为了避免宏代换时发生错误,宏定义中的字符串应加括号,字符串中出现的形式参数两边也应加括号。

文件包含是预处理的一个重要功能,它可用来把多个源文件连接成一个源文件进行编译,结果将生成一个目标文件。

条件编译允许只编译源程序中满足条件的程序段,使生成的目标程序较短,从而减少了内存的开销并提高了程序的效率。

使用预处理功能便于程序的修改、阅读、移植和调试,也便于实现模块化程序设计。





来源链接: http://mp.weixin.qq.com/s?3rd=MzA3MDU4NTYzMw==&__biz=MzAxMjEyOTg5Ng==&idx=3&mid=203990860&sn=17f28678a62bc6ff1aedc2d933931100

鲜花

握手

雷人

路过

鸡蛋


版权声明|小黑屋| 电子基础网     

GMT+8, 2018-4-23 01:50 , Processed in 0.075547 second(s), 16 queries .

© 2016-2017 电子基础网

欢迎投稿:dzjcgw@163.com
返回顶部