2015-02-06 81 views
-7

我想知道爲什麼C語言的頭文件中包含'#'符號作爲起始符號,爲什麼沒有其他符號用於此目的?是否有任何理由或程序員隨機選擇它?爲什麼在C語言頭文件中使用'#'符號?爲什麼不使用其他符號?

+0

這不是誰設計C.而這樣的選擇一些「隨機程序員」在某種程度上是任意的。即使我們使用+來表示加法,外星人的數學書籍也很可能使用其他符號來表示加法。 – 2015-02-06 15:55:33

+0

@BasileStarynkevitch當我說這可能是因爲剩下的角色被用作操作符時,我的猜測是否正確?我知道不是所有,但仍然...... – Gopi 2015-02-06 15:56:49

+4

如果它是一些其他符號(比如'''),你不會問同樣的問題嗎? – 2015-02-06 15:57:53

回答

9

我猜想,要求是在普通的字符集的時間(ASCII,EBCDIC,也許還有其他)

  • 沒有其他使用的語言提供

    • ,所以預處理器可以很容易地確定其指令
    • 容易上鍵入一個標準的美式鍵盤

    有不符合這些要求的許多人物; #就是其中之一。例如,選擇那個,而不是@$可能是任意的。

  • +2

    另外,當時它是ASCII(最好的)。 Unicode不存在然後 – 2015-02-06 15:58:18

    +0

    @BasileStarynkevitch:好點。即使在今天,源字符集也是ASCII的一個子集。 – 2015-02-06 16:03:39

    7

    的主要原因是,#是未使用的在C語法的其他地方。這允許它被用於(然後單獨的)預處理器。

    +1

    我還和我的教授討論了這個問題,他告訴'#'符號用於彙編語言以便立即處理,並且基於此,Dennies Ritchie使用'#'以立即包含頭文件。我不確定這個答案是否也是正確的。 – 2015-02-08 15:32:47

    相關問題