在程序中使用300最住,20等類似的"魔法數(shù)字"不是一個(gè)好的編程習(xí)慣箭昵,它不易閱讀侨糟,并且對(duì)后期的維護(hù)造成困難碍扔。處理這種魔法數(shù)字的方法是富裕他們有意義的名字。#define 指令可以把符號(hào)常量定義為一個(gè)特定的字符串:
#define 名字 替換文本
其中秕重,名字與普通變量名形式相同:以字母開(kāi)頭的字母和數(shù)字序列不同;替換文本可以是任何字符串,不限于數(shù)字。例如:
#include <stdio.h>
#define LOWER 0 /* lower limit of table */
#define UPPER 300 /* upper limit */
#define STEP 20 /* step size */
/* print FahrenheitCelsius
table */
int main()
{
int fahr;
for (fahr = LOWER; fahr <= UPPER; fahr = fahr + STEP)
printf("%3d %6.1f\n", fahr, (5.0/9.0)*(fahr - 32));
return 0;
}
#define
也是預(yù)編譯處理命令二拐,在程序開(kāi)始編譯前服鹅,我們提前定義的LOWER
,UPPER
百新,STEP
會(huì)被替換成對(duì)應(yīng)的文本企软。符號(hào)常量一般使用大寫(xiě)字母拼寫(xiě),這樣可以和小寫(xiě)字母拼寫(xiě)的變量名區(qū)別饭望,#define
行末沒(méi)有分號(hào)