定義宏時(例如#define BALL
)。爲什麼人們使用大寫字母?我可以寫一些像#define ball
。它不是大寫字母,但它的工作原理。#define:爲什麼要大寫?
回答
爲什麼使用_
作爲長變量名?你爲什麼不把變量命名爲a or b
,因爲它很容易理解和調試。
使用變量名稱如TotalHeight
比簡單i
更有意義。有些人甚至以數據類型爲前綴,如Int_TotalHeight
。它很容易維護代碼。
要回答你的問題,人們使用它來獲得更多的理解。一般
1)爲了區分變量的名稱和宏名稱
#define MAX 45 // easy to understand, it is a macro
int max=45;
2)從宏區分功能。說
#define MULT(x, y) (x) * (y)
int mult(int,int);
歡迎@nicael,更具體地說,宏是常量。常量通常用大寫字母表示:) – niko
這是今天的另一個問題:Can't figure out this "called object is not a function" C time error。在這裏,OP做了#define time (24 * 60 * 60)
,並且在time(something)
不能編譯時感到驚訝。
幾乎沒有什麼標準的C是全部大寫的,所以通過使你的宏全部大寫,你可以避免衝突。由於預處理器正在執行令牌替換,因此碰撞通常會產生非明顯或未檢測到的錯誤。
缺少衝突的原因不在於標準不使用大寫。這是因爲標準以'_'爲前綴,然後保留它們。 – Shahbaz
這是一種習慣。你可以寫成大寫和小寫。
- 1. #define的要點是什麼?
- 2. 爲什麼要以大塊寫入流?
- 3. 爲什麼#define不好?
- 4. 不區分大小寫#define
- 5. 爲什麼tf.Variable大寫和tf.constant小寫?
- 6. Erlang:爲什麼大寫(=>)寫成(> =)?
- 7. 爲什麼SQL條目寫成大寫?
- 8. 比較時爲什麼要將字符串轉換爲大寫?
- 9. 'typeof define ==='function'&& define ['amd']'用於什麼?
- 10. 爲什麼「#define A」會干擾「namespace A {}」?
- 11. #define ...方法調用。爲什麼?
- 12. 爲什麼要區分大小寫的用戶名?
- 13. 爲什麼組件中的反應需要大寫?
- 14. 爲什麼我們需要編寫log.isDebugEnabled?
- 15. 爲什麼setuptools需要寫字節碼?
- 16. 爲什麼要編寫模塊化JavaScript?
- 17. 爲什麼讀/寫鎖需要鎖?
- 18. 爲什麼區分大小寫和不區分大小寫?
- 19. 爲什麼True/False在Python中大寫?
- 20. 爲什麼XPathNavigator區分大小寫?
- 21. 爲什麼CultureInfo.NativeName不是始終大寫?
- 22. 它爲什麼不把它大寫?
- 23. 爲什麼不.toUpperCase()大寫str [i]?
- 24. 爲什麼System.Environment.MachineName值是大寫的?
- 25. 爲什麼Buffer對象有大寫B?
- 26. 爲什麼ASCII以大寫命名?
- 27. 什麼是#define NAME((LPCSTR)5)?
- 28. 什麼意思的#define TEST_CASE(...)
- 29. 爲什麼SQL中的查詢主要是用大寫字母寫的?
- 30. 爲什麼要爲
對於宏的使用大寫是一個命名約定。預處理器可以處理宏名稱中的任何情況(上,下,混合)。 –