再談關於字 (word) 的規則

前面說過,一個字的長度不得超過 31 個字元。 其實應該是說,C 語言的 ANSI 標準,規定各種編譯程式至少要接受前 31 個字元。 因此,某些編譯程式可能可以接受更長的字。 但是,為了原始碼可以安全在各種不同機器上、被不同廠牌的編譯器上編譯, 最好不要使用超過 31 個字元的字。

在 C 中,字的用途無非是

使用者可以自己創造字,用以定義自己的變數名和函式名。 但是,這些字應該要避開所有的內建指令,並且不應與常用的函式或符號常數名衝突。 有時候,C 容許您使用常用函式名來當做變數名,例如以下函式可以:
#include <stdio.h>

/* 在函式內用函式的名字當做變數名。不好的示範,請勿學習 */
main() {
    char main[]="hello, world.\n";
    printf("%s", main);
}

以下函式也可以:
#include <stdio.h>

/* 用標準內部函式名 (getchar) 來當做變數名。不好的示範,請勿學習 */
main() {
    int getchar=49; 
    printf("%d\n", getchar);
}

但是以下就不可以了:
#include <stdio.h>

/* C 不允許 printf() 和變數 printf 在同一個函式內出現 */
main() {
    int printf=49; 
    printf("%d\n", printf);
}

不論個別的狀況可以或不可以,我們都應該極力避免使用到 C 的保留字或常用字。 以下我們列出一些需要避免的字。

習題

[ 前一節 ]‧[ 後一節 ]‧[ 回目錄 ]



注意:此處所有文件均為原著,個別的版權宣告日後會一一公布, 整體版面設計亦尚未完成。但仍請勿抄襲文字與圖片,以免觸犯著作權法。

Created: Apr 21, 2000
Last Revised: Apr 21, 2000
© Copyright 2000 Wei-Chang Shann 單維彰

shann@math.ncu.edu.tw