大家好我是CodeShark
今天分享宏的用法
主要功能:
常量
宏函数
代码块
格式: #define 宏名 替换体
一、定义宏常量
在程序中遇到了宏名就会自动替换成后面的值
例如 #define SIZE 32
int arr[SIZE]; // int arr[32]
遇到了SIZE 就会自动把SIZE替换成32
#include#define SIZE 32 int main(void) { int arr[SIZE]; for (int i = 0; i < SIZE;++i) // 循环32次因为SIZE 被替换成32 { arr[i] = i+1; } for (int i = 0; i < SIZE; ++i) { std::cout << arr[i] << " "; } }
这样做有一个好处,就是当程序代码量比较多的时候,修改常量值不用一个一个去重写,只需要把宏定义修改一下,其他的都全部修改了。
二、宏函数
#define MAX(a,b) a > b ? a : b
红的名字那里有参数,后面是要执行的表达式
实际上也是把实现写在代码里。只不过把a和b替换了
嗯
#include#define MAX(a,b) a > b ? a : b int main(void) { int a = 32; int b = 64; int c = MAX(a, b); std::cout << c; }
宏函数在项目中使用得很多
三、代码块
#define START_MP3 mciSendString(L"play bf.mp3", 0, 0, 0);
std::cout << "mp3 start ";
直接替换
#include#include #include #pragma comment(lib,"WINMM.LIB") #define START_MP3 mciSendString(L"play bf.mp3", 0, 0, 0); int main(void) { START_MP3 }



