Clang 宏定义初探(一)
宏的定义方法是#define
那么在什么场景下需要用到宏呢?遇到一些重复的东西,简单的有 for(i = 0; i < n; i ++) 之类的,为了减少繁琐的编码,可能使用
c #define FO(i,N) for(i=0;i<N;i++)
为了增强可读性,比如说设置一个数组常亮大小,可以使用
c #define N 1001
宏看起来感觉很好用,但是潜藏了很多问题,在实际使用中需要小心谨慎(当然带来大部分问题的,还是编码者自己或者合作方)。
例如,现在要求两个数的最小值,最初会写出如下宏:
#define MIN(A,B) A<B?A:B
正常情况下也是可以使用无误的:
#include <stdio.h>
#define MIN(A,B) A<B?A:B
int main()
{
int a =5, b =