我想知道爲什麼C語言的頭文件中包含'#'符號作爲起始符號,爲什麼沒有其他符號用於此目的?是否有任何理由或程序員隨機選擇它?爲什麼在C語言頭文件中使用'#'符號?爲什麼不使用其他符號?
回答
我猜想,要求是在普通的字符集的時間(ASCII,EBCDIC,也許還有其他)
- ,所以預處理器可以很容易地確定其指令
- 容易上鍵入一個標準的美式鍵盤
有不符合這些要求的許多人物; #
就是其中之一。例如,選擇那個,而不是@
或$
可能是任意的。
另外,當時它是ASCII(最好的)。 Unicode不存在然後 – 2015-02-06 15:58:18
@BasileStarynkevitch:好點。即使在今天,源字符集也是ASCII的一個子集。 – 2015-02-06 16:03:39
的主要原因是,#
是未使用的在C語法的其他地方。這允許它被用於(然後單獨的)預處理器。
我還和我的教授討論了這個問題,他告訴'#'符號用於彙編語言以便立即處理,並且基於此,Dennies Ritchie使用'#'以立即包含頭文件。我不確定這個答案是否也是正確的。 – 2015-02-08 15:32:47
- 1. 爲什麼theta符號從不使用?
- 2. 爲什麼符號「№」在文字比其他字符更大膽?
- 3. 爲什麼Ruby使用'=>'符號?
- 4. 爲什麼我不能使用其中的$符號驗證值?
- 5. 爲什麼我不需要使用scanf符號? (在C)
- 6. 表情符號在MySQL和PHP:爲什麼一些符號是其他不是?
- 7. 爲什麼C#.TrimEnd不能使用@符號?
- 8. symfony使用什麼PHP文檔符號?
- 9. 爲什麼不使用共享庫符號中定義的符號?
- 10. 大O符號,爲什麼
- 11. 腳本語言中的美元符號 - 爲什麼?
- 12. 爲什麼不使用符號作爲枚舉
- 13. 爲什麼Python使用異常來管理迭代器,爲什麼不使用其他語言?
- 14. 即使在使用「無符號字符」時,爲什麼ANSI字符在C中127之後仍不起作用?
- 15. 爲什麼在AT&T裝配中需要使用'$'符號?
- 16. 爲什麼回調在Ruby on Rails中使用符號
- 17. 爲什麼在asp.net中使用符號<% %>?
- 18. 爲什麼榆樹不使用括號?
- 19. 什麼是C語言頭文件?
- 20. 爲什麼C++運算符new/delete/variants不在頭文件中?
- 21. 爲什麼%main ::符號表中有幾個c文件?
- 22. 'o'和.cto文件中使用的箭頭符號有什麼不同?
- 23. 爲什麼JSLint告訴我「使用數組文字符號[]」。
- 24. 爲什麼我們應該在HTML中使用字符實體作爲符號?
- 25. 爲什麼RSS不能處理&符號?
- 26. 「找不到符號」爲什麼?
- 27. 的Java爲什麼找不到符號
- 28. 找不到符號...爲什麼?
- 29. 爲什麼腳本不能使用keyCode 69停止符號?
- 30. 爲什麼我不能使用後綴符號此功能
這不是誰設計C.而這樣的選擇一些「隨機程序員」在某種程度上是任意的。即使我們使用+來表示加法,外星人的數學書籍也很可能使用其他符號來表示加法。 – 2015-02-06 15:55:33
@BasileStarynkevitch當我說這可能是因爲剩下的角色被用作操作符時,我的猜測是否正確?我知道不是所有,但仍然...... – Gopi 2015-02-06 15:56:49
如果它是一些其他符號(比如'''),你不會問同樣的問題嗎? – 2015-02-06 15:57:53