符號常量

符號常量

符號常量是在C語言中,可以用一個標識符來表示一個常量,這個標識符稱之為符號常量。其特點是編譯後寫在代碼區,不可定址,不可更改,屬於指令的一部分。

#define 定義

符號常量在使用之前必須先定義,其一般形式為:

#define 標識符 常量

enum EnumName{標識符,標識符,...};

其中#define 也是一條預處理命令(預處理命令都以"#"開頭),稱為宏定義命令,其功能是把該標識符定義為其後的常量值。一經定義,以後在程式中所有出現該標識符的地方均代之以該常量值。習慣上符號常量的標識符用大寫字母,變數標識符用小寫字母,以示區別。

枚舉類型中的元素也是符號常量,如enum Weekday{SUN, MON, TUES, WED, THU, FRI, SAT}。

例:

#include<stdio.h>

#define PRICE 30

main()

{

int num,total;

num=10;

total=num* PRICE;

printf("total=%d",total);

}

使用符號常量的好處是:

含義清楚;

能做到“一改全改”。

const定義

形式為 :const type name = value;

例如:const int MONTHS = 12;

這樣就可以在程式中使用MONTHS而不是12了。常量(如MONTHS)被初始化後,其值就被固定了,編譯器將不允許再修改該常量的值。假如您這樣做:

MONTHS = 18;

是不對的,就好像您將值4賦給值3一樣,無法通過編譯。

此外注意應在聲明中對const進行初始化。下面的代碼是不正確的:

const int toes;// toes的值此時是不確定的

toes=10;//這時進行賦值就太晚了

如果在聲明常量時沒有提供值,則該常量的值是不確定的,而且無法修改它。

相關詞條

熱門詞條

聯絡我們