本案例代码非原创 , 我只是按照学习的过程自己重敲一遍回顾学习!
3.宏定义介绍
#include <stdio.h>
/*
*1.宏定义常量
*/
#define PI 3.141592654 //自动识别成double
/*
*2.宏定义方法
*/
#define swap(x,y)\
x=x+y;\
y=x-y;\
x=x-y
/*
*3.宏定义一段代码
*/
#define LOG\
int a =3;\
int b =4;\
printf("a: %d\n",a);\
printf("b: %d\n",b)
#ifndef A // 如果没有宏定义 A (if undefine , 注意啊if后面有一个n代表un-否定前缀)
#define A 1 // 那么就定义 A 的值为 1
#endif //判断结束
#define B 2
//#undef A //取消宏定义A
#define C 100
int main(int argc, const char * argv[]) {
printf("PI: %.9lf\n",PI);
int x =10;
int y =20;
printf("交换之前: x=%d,x=%d\n",x,y);
swap(x,y);
printf("交换之后: x=%d,x=%d\n",x,y);
LOG;
printf("a=%d,b=%d\n",a,b);
printf("-------------\n");
/*
*4.逻辑判断 相当于 if()
{
}
else-if()
{
}
else-if()
{
}
*/
#ifdef A
printf("defineA: %d\n",A);
#endif
#ifdef B
printf("defineB: %d\n",B);
#elif C
printf("defineC: %d\n",C);
#else
printf("未定义任何值!\n");
#endif
return 0;
}