预处理指令的概念
用 “#” 开头的一些特殊的指令
作用:
在编译之前做些处理(宏展开,条件编译,文件包含)
常见的预处理指令:
宏:特殊的标示符,宏不是语句,不需要分号结束
宏替换,在编译之前,在源文件中,所有出现宏名的地方
都用 宏代表的字符串 去替换
注意:当宏出现在字符串中的时候,宏不会进行替换
1)无参宏
#define 宏名 宏代表的字符串
#define M 10
#define AREA 3.14*M*M
#define PI 3.14
2)有参宏
#define Mi(y) y*y+3*y
()中的y是形参,宏中的形参在定义的不会分配空间
不需要写类型
#define MAX(a,b) a>b?a:b
#define SUM(a,b) a+b
条件编译:
当条件满足的时候再去编译一段代码
好处:可移植、生成更小的目标文件
使用:
#if #elif #else #endif
#ifdef #elif #else #endif
#ifndef #elif #else #endif
文件包含
#include ""
#inculde <>