我想知道爲什麼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. 爲什麼符號「№」在文字比其他字符更大膽?
- 2. 爲什麼Ruby使用'=>'符號?
- 3. 爲什麼我不能使用其中的$符號驗證值?
- 4. 表情符號在MySQL和PHP:爲什麼一些符號是其他不是?
- 5. symfony使用什麼PHP文檔符號?
- 6. 即使在使用「無符號字符」時,爲什麼ANSI字符在C中127之後仍不起作用?
- 7. 爲什麼Python使用異常來管理迭代器,爲什麼不使用其他語言?
- 8. 爲什麼在AT&T裝配中需要使用'$'符號?
- 9. 爲什麼回調在Ruby on Rails中使用符號
- 10. 爲什麼榆樹不使用括號?
- 11. 什麼是C語言頭文件?
- 12. 爲什麼RSS不能處理&符號?
- 13. 找不到符號...爲什麼?
- 14. 的Java爲什麼找不到符號
- 15. 爲什麼在百分比符號中使用不同的分隔符?
- 16. 爲什麼腳本不能使用keyCode 69停止符號?
- 17. 爲什麼我不能使用後綴符號此功能
- 18. 爲什麼這麼多符號鏈接?
- 19. 爲什麼在Oz語言中使用過程調用大括號?
- 20. C語言中的字符串:爲什麼這有用?
- 21. 爲什麼我在使用PayPal API時丟失了符號「_xmlNodeListGetString」?
- 22. 爲什麼<asm中使用的符號
- 23. 爲什麼使用_PROTOTYPE頭文件
- 24. 爲什麼在ssrs中使用sql語言代替mdx語言?
- 25. 爲什麼我需要在單引號中使用美元符號?
- 26. 爲什麼不能在excel中用〜符號過濾記錄
- 27. 爲什麼我可以使用美國Ascii語言環境來使用大寫/小寫德語變音符號?
- 28. 在C#中,什麼是使用美元符號Console.WriteLine做
- 29. 爲什麼需要兩個括號在c/C++中使用宏?
- 30. 在其他語言中使用什麼bean模式名稱
這不是誰設計C.而這樣的選擇一些「隨機程序員」在某種程度上是任意的。即使我們使用+來表示加法,外星人的數學書籍也很可能使用其他符號來表示加法。 – 2015-02-06 15:55:33
@BasileStarynkevitch當我說這可能是因爲剩下的角色被用作操作符時,我的猜測是否正確?我知道不是所有,但仍然...... – Gopi 2015-02-06 15:56:49
如果它是一些其他符號(比如'''),你不會問同樣的問題嗎? – 2015-02-06 15:57:53