宏是编译器的东西,是纯粹的“字符替换”,与编程语言其他什么一切都无关。仅仅是帮助你更好地输入字符。
例如:下面程序
void main()
{
double x,y;
x=3.1415926535897932384626433832795;
y=x+3.1415926535897932384626433832795;
y/=3.1415926535897932384626433832795;
x=sin(3.1415926535897932384626433832795*y);
}
相信你输入程序时候很苦恼,并且如果其中某个3.1415926535897932384626433832795被错改了一小数位的话,造成的错误极其难发现。
所以,利用字符替换的原理,可以把程序简化位:
#define PIE 3.1415926535897932384626433832795
void main()
{
double x,y;
x=PIE ;
y=x+PIE ;
y/=PIE ;
x=sin(PIE *y);
}
这样就美观多了。最重要的是,保证了所有PIE都相等。
上面两个程序完全一样,编译器帮助你进行了字符替换工作。