预处理
来源:互联网 发布:网络语233是什么意思 编辑:程序博客网 时间:2024/06/02 06:23
预处理:是指在进行编译的第一遍(词法扫描和语法分析)扫描前的工作;
预处理是C语言的一个重要功能,它由预处理程序负责完成;
当编译一个程序时,系统自动调用预处理程序对程序中的“#”号开头的预处理部分进行处理,处理完毕后进入源程序编译阶段;在C语言处理中,允许用一个标识符表示一串符号,称为宏;被宏定义的标识符称为宏名;
在编译预处理时,对程序中所有出现的宏名,都用宏定义中的符号去替换,这称为宏替换;宏定义:用户自己编写宏定义;
宏定义由源程序中的宏定义#define 语句完成的,而宏替换由预定义程序自动完成;
#inlcude <stdio.h>#define M (y+3)int main(){ int s,y; printf("input a number:"); scanf("%d",&y); s=5*M; printf("s=%d\n",s); return 0;}
上述程序中首先进行宏定义,定义M为表达式“(y+3)”,在“s=5*M”中作了宏调用,在预处理时经宏展开后该句变为
s=5*(y+3)
注意:
1. 宏定义用宏名来表示一串符号,在宏展开又以该符号取代了宏名,这只是一种简单的替换,符号串可是任何字符,预处理程序对它不进行任何检查。
2.宏定义不是声明或语句,在行末不必加分号;
3.作用域包括从宏定义命名道结束,如要终止其作用域可使用#underf取消宏作用域;
4.宏名如果在源程序中若有引号括起来,则预处理程序不对其进行宏替换;
`2.无参宏定义 #define 标识符 字符串 其中 :#表示这是一条预处理命令,凡是#开头的均为预处理命令 define 为宏定义命令 标识符为所定义的宏名 字符串可以是常数 表达式 格式串等
阅读全文
0 0
- 预处理
- 预处理
- 预处理
- 预处理
- 预处理
- 预处理
- 预处理
- 预处理
- 预处理
- 预处理
- 预处理
- 预处理
- 预处理
- 预处理
- 预处理
- 预处理
- 预处理
- 预处理
- PHPexcel 导出身份证问题
- EasyTouch5.X使用学习
- 【JQuery插件】Kindeditor 在MVC使用细节问题
- 迪杰斯特拉算法求解最短路径(三)---《动态规划》
- Android初学者首次真机模拟adb出现问题解决方法:
- 预处理
- Smallest Minimum Cut HDU
- mysqldump命令详解(转载)
- 安卓回调详解--CallBack
- vue2 引入外部JQ
- Selenium Grid2
- 单例模式
- PHP 文件上传失败
- 欢迎使用CSDN-markdown编辑器