C 語言定義識別字可用的符號有底線、大小寫英文字母、數字,如下
_ | ||||||||||||
a | b | c | d | e | f | g | h | i | j | k | l | m |
n | o | p | q | r | s | t | u | v | w | x | y | z |
A | B | C | D | E | F | G | H | I | J | K | L | M |
N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
其中,數字不能用作識別字的開頭,單一識別字裡不允許有空格,關鍵字屬於保留字,因此也不能用為自行定義的名稱。通常編譯器至少能讀取名稱的前 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'};
沒有留言:
張貼留言