在严格意义上的编译开始之前,C语言的预处理器首先对程序代码做了必要的转换处理。所以实际上运行的程序已经不是当初的那个它了。
预处理器灰常重要,特别是以下两个作用:
一,当我们需要将某个特定数量,比如数组大小,在程序中出现的所有实例统统加以修改的时候,我们希望在程序中改动一处,则其他地方都自动跟着改变,这时预处理器就可以很轻松地做到这一点了。比如:
- #define M 5
- ...
- int arr[M];
复制代码
二,C语言中的函数调用看似方便,但其实灰常消耗内存,有木有办法可以改善这一点呢?预处理器这时就可以做到既看上去像一个函数,又可以快速地执行。比如:
- #define max(a,b) (a>b?a:b)
复制代码 |
|