常量與符號常量

2021-09-17 22:07:59 字數 1916 閱讀 2172

通過「數學中的變數與常量」章節的介紹,我們知道了常量的定義,就是其資料不可以修改的量。例如100這個數值,它的數值就是100,不可以改變,所以,稱為常量,可以稱為:常量100。

那麼,在c語言中定義的資料報括有數值(整數,浮點數),字元等等。其內容不可改變的量,就稱為常量,有:

100, 20, 30 這樣的整數值,稱為:整數型常量;

10.123, 3.14159 這樣的浮點型數值,稱為:浮點型型別常量;

『a』, 『b』, 『c』, 『#』, 『%』 這樣的字元,稱為:字元型常量;

所以,我們知道了c語言中定義的常量,就是其值不可以改變的量。例如,字元型常量』a』,它就是乙個字元,它的值不可以改變,所以,是乙個常量。

在「數學中的變數與常量」章節中,我們提到常量a,它是乙個符號,代表100這個數值,那麼,我們可以把它稱為:符號常量。就是符號a代表常量數值100。

那麼,在c語言中,也定義了「符號常量」,就是使用符號來表示乙個常量。例如:

使用符號a來表示100這個數值;

使用符號name來表示』c』這個字元;

這些定義在c語言中使用 #define 來實現,定義的個數如下:

#define 常量符號 常量值

例如:#define a 100

就得定義了符號a表示100這個數值;

#define name 『c』

就定義了符號name表示』c』這個字元;

測試例子如下:

#include

//包含標頭檔案

, 為了使用

printf()函式;

#define

a100                  

//定義符號常量

a, 代表

100數值;

#define

name

'c'//

定義符號常量

name,

代表字元

'c'

intmain()                          

//定義程式的主函式

, 就是程式的入口位址;

//主函式的結束標記;

程式執行的結果如下:

mylinux@ubuntu:~/src/test$ gcc test.c -o exe

mylinux@ubuntu:~/src/test$ ./exe

a = 100

x = 100, y = 100, z = 100

name = c

可以看到,通過#define關鍵字,我們定義了符號a表示100這個數值,符號name表示』c』這個數值。

但是,符號a是乙個符號常量,它的數值不可以改變,如下是乙個測試例子。

#include

//包含標頭檔案

, 為了使用

printf()函式;

#define

a100                  

//定義符號常量

a, 代表

100數值;

#define

name

'c'//

定義符號常量

name,

代表字元

'c'

intmain()                          

//定義程式的主函式

, 就是程式的入口位址;

//主函式的結束標記;

編譯的結果如下:

mylinux@ubuntu:~/src/test$ gcc test.c -o exe

test.c: in function 『main』:

test.c:6: error: lvalue required as left operand of assignment

可以看到,修改符號常量a的值,編譯會報異常,提示錯誤。同理,name符號常量的值也不可以修改。

C 變數 常量 符號常量

變數 int i 0 i 是變數 i 5 i 可以修改 變數就是程式內乙個記憶體位置的符號名,在該記憶體位置可以儲存資料,並可以通過符號名對該記憶體位址存放的資料進行訪問。變數的值可以修改,是可變的,但在某個確定的時刻,變數的值是確定的,並一直保持到下次被修改之前。常量 int a 10 a 是變數...

常量符號定義

1 特點 編譯時符號所在的位置就會替換為它代表的常量 2 偽指令 2.1 語法 name expreion 2.1.1 expression 只能是整數或整數表示式 2.1.2 name 可以重複定義為不同的整數或整數表示式 例如 count 500 size list 3 equ 偽指令 3.1 ...

C 符號常量

一,const限定符 使用const關鍵字來建立符號常量,常量被建立後其值就固定了,編譯器將不允許修改該常量的值。const int a 20 注意,應在宣告時對const進行初始化,如果在宣告常量時沒有提供值,則該常量的值將是不確定的,且無法修改。二,使用enum建立符號常量 a,使用enum定義...