可能重复:
什么是C宏有用?
每隔几个月我就会学到一些C,这是我的废话大学编程教育从未涉及过的.今天它是宏.我对宏的基本理解是它们是一个简单的搜索和替换,它会在编译之前发生在代码上.我无法理解你为什么要使用宏.我正在看的大多数基本例子都是这样的
TEST(a,%d);
#define TEST(a,b) printf(" The value of " #a " = " #b " \n", a)
//which expands to
printf(" The value of a = %d \n",a);
Run Code Online (Sandbox Code Playgroud)
(例子来自这里)
从我的新手角度来看,似乎定义一个新函数会给你相同的结果.我可以看到历史上宏如何在易于搜索和替换之前的几天内快速修改大量源代码,但有些东西告诉我,我错过了一些更重要的观点.
那么宏可以为你做什么样的有用的事情呢?