- C語言程序設計與實踐(第3版)
- 謝滿德 凌云等編著
- 464字
- 2024-05-10 13:55:24
2.4 符號常量
例2-4中的程序把3.1415926、360、30等常數直接寫在了程序中,這并不是一種好的習慣,原因如下:
1)這些純粹的數沒有任何表征意義,幾乎不能給以后可能要閱讀該程序的人提供什么信息。
2)使程序的修改變得困難,因為如果修改角度上限和步長,必須修改程序中的所有360和30。
解決上述問題的一種方法是賦予它們有意義的名字。#define指令就用于把符號名字(或稱為符號常量)定義為一特定的字符串,其形式如下:

此后,所有在程序中出現的在#define中定義的名字,如果該名字既沒有用引號括起來,也不是其他名字的一部分,都用所對應的替換文本替換。這里的名字與普通變量名的形式相同:以字母開頭的字母或數字序列。替換文本可以是任何字符序列,而不僅限于數字。
例2-5 用符號常量打印余弦函數的離散值表。


這里,PI、START、END與STEP稱為符號常量,而不是變量,故不需要出現在定義中。這樣,如果需要提高函數曲線的擬合精度,就只需要縮小STEP并給定更精確的PI值即可。符號常量名通常采用大寫字母,這樣就可以很容易地將其與采用小寫字母拼寫的變量名相區別。注意:#define也是一條編譯預處理指令,因此該行的末尾是沒有分號的。