C 速查手冊

1.3 識別字

識別字 (identifier) 為程式語言 (programming language) 中依程式 (program) 需求自行定義的名稱,舉凡程式中所用的變數 (variable) 名稱、函數 (function) 名稱、陣列 (array) 名稱、結構 (structure) 名稱、聯合 (union) 名稱、列舉常數等都屬於識別字,標準程式庫 (standard library) 與第三方程式庫 (third-party library) 其內所用的名稱也屬於識別字,每一種程式庫都有各自的命名習慣 (naming convention) ,自行定義名稱時應該避免與程式庫中的名稱衝突。

C 語言定義識別字可用的符號有底線、大小寫英文字母、數字,如下

_
abcdefghijklm
nopqrstuvwxyz
ABCDEFGHIJKLM
NOPQRSTUVWXYZ
0123456789

其中,數字不能用作識別字的開頭,單一識別字裡不允許有空格,關鍵字 (keyword) 屬於保留字,因此也不能用為自行定義的名稱。通常編譯器 (compiler) 至少能讀取名稱的前 31 個字元,但外部名稱可能只能保證前六個字元有效。

識別字名稱最好跟用途有關,同時容易辨識、打字。以下列出常見的合法變數名稱

//以下用為一般變數
integer1
sum
grade
seed

//以下用為迴圈控制變數
i
j
nPtr
xp

//以下為大寫駝峰型
MyCard
ListNode
StartItem
CurrentPtr

//以下為小寫駝峰型
bankBalance
stringPtr
tokenPtr
lastName

//以下為用底線連結
leep_year
new_ptr
wrong_way
FREQUENCY_SIZE

//常數通常全用大寫字母
PI
SIZE
INT_MIN
DAY

以下列出常見的合法函數名稱

//以下用為一般函數
factorial()
fibonacci()
cube()
sum()

//以下為大寫駝峰型
ArrayInit()
BubbleSort()
LinearSearch()
PrintRow()

//以下為小寫駝峰型
roundToInteger()
roundToTenths()
integerPower()
qualityPoints()

//以下為用底線連結
what_is_this()
hello_world()
convert_uppercase()
binary_search()

//以下為標準程式庫中的例子
fmod()
isalpha()
atof()
timegm()

以下為常見的合法陣列名稱

//以下用為一般陣列
n[]
frequency[]
string1[]
suit[]

//以下為大寫駝峰型
MyArray[]
NewWeek[]
TempS[]
StackInplement[]

//以下為小寫駝峰型
studentGrades[]
bPtr[]
wDeck[]
ballDirection[]

//以下為用底線連結
first_name[]
temp_array[]
game_point[]
key_word[]

以下列出常見的合法結構及聯合名稱

//以下用為一般的結構或聯合
example
number
Card
employee

//以下為大寫駝峰型
QueueNode
StudentNode
BullCow
UType

//以下為小寫駝峰型
stackNode
binaryTreeNode
bitCard
symTab

//以下為用底線連結
key_tab
tree_node
n_list
u_tag

以下列出常見的合法列舉常數名稱

//以下用為一般的列舉常數
enum months {JAN = 1, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC};
enum weeks {SUN, MON, TUE, WED, THU, FRI, SAT};
enum boolean {NO, YES};
enum escape {BELL = '\a', TAB = '\t', NEWLINE = '\n', RETURN = '\r'};

上一頁 1.2 關鍵字
回 C 速查手冊首頁
下一頁 1.4 常數
回 C 教材首頁
回程式語言教材首頁