C 語言快速導覽 - 識別字

識別字為程式語言中依程式需求自行定義的名稱,舉凡程式中所用的變數名稱、函數名稱、陣列名稱、結構名稱、聯合名稱、列舉常數等都屬於識別字,標準函數庫與第三方函數庫其內所用的名稱也屬於識別字,每一種函數庫都有各自的習慣命名方式,自行定義名稱時應該避免與函數庫中的名稱衝突。


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


其中,數字不能用作識別字的開頭,單一識別字裡不允許有空格,關鍵字屬於保留字,因此也不能用為自行定義的名稱。通常編譯器至少能讀取名稱的前 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'};



沒有留言: