他們說c中的宏從不檢查數據類型,它只是用右側替換左側。那麼爲什麼人們明確定義0x01u,他們可以簡單地說爲0x01?在C編程宏從來沒有做過類型檢查?那麼定義宏0x01和0x01u有什麼區別?
-3
A
回答
-1
它定義了一個unsigned
整數字面值。您還可以通過使用0x…UL
來查看他們將十六進制文字定義爲unsigned long
整數的位置。
如果您想知道它們生成的位模式,只需將小數文字轉換爲其等效的十六進制或二進制文字。 1U
分別以十六進制和二進制形式變爲0x01U
和01b
。
另一個更常見的文字使用f後綴,即單精度浮點文字,如1.0f
。
1.僅供參考;不是每個C標準的實際有效二進制文字。對於二進制文字,C++ 14支持0b01
(和0b0000'0001
一樣有趣,'
作爲分組字符)。
+0
請再次閱讀這個問題,你的回答似乎沒有幫助OP – user2728397
+1
@Rakesh_K我雖然問他U符號的目的是什麼。所以我刪除了我的帖子。謝謝你通知我。 –
0
在其中宏用於在支票上的地方將作出 - 貝恩德Elkemann
宏(預處理)不類型檢查;編譯器會在使用擴展宏的結果時執行此操作。 - Jonathan Leffler
相關問題
- 1. Excel宏沒有做什麼?
- 2. typedef和宏之間有什麼區別?
- 3. 這2個宏有什麼區別?
- 4. 泛型類型和泛型類型定義有什麼區別?
- 5. 宏和編譯器插件有什麼區別?
- 6. #if和#ifdef Objective-C預處理器宏有什麼區別?
- 7. 類型定義和類型引用有什麼區別?
- 8. 爲什麼Java沒有宏?
- 9. 存在和定義有什麼區別?
- 10. 使用和:在ns宏中使用有什麼區別
- 11. 爲什麼在C函數中定義的宏沒有被Doxygen記錄下來?
- 12. 檢查和外鍵有什麼區別?
- 13. 這和那個有什麼區別
- 14. 按原型定義函數和類屬性有什麼區別?
- 15. cuda編程中float和double類型有什麼區別?
- 16. 宏沒有在C定義的
- 17. C++「類型推導」和Haskell「類型推論」有什麼區別?
- 18. 宏_MANAGED和_cplusplus_cli之間有什麼區別?
- 19. Rust中的宏和函數有什麼區別?
- 20. _T(「...」)和_RT(「...」)宏之間有什麼區別?
- 21. noexcept關鍵字和_NOEXCEPT宏有什麼區別?
- 22. 「常規」和「讀者」宏之間有什麼區別?
- 23. 加載項和宏之間有什麼區別?
- 24. 宏在MASM32中做什麼?
- 25. 有沒有什麼辦法來檢查類的屬性在C#
- 26. 有什麼類型的宏/語法擴展/編譯插件?
- 27. 這種類型的宏有什麼意義?
- 28. a = b = c和編程分別賦值有什麼區別?
- 29. 在C中定義類似功能的宏時,使用{} pair或()對有什麼區別?
- 30. 編寫自定義方法和自定義過濾器有什麼區別?
在使用宏的地方將進行檢查 –
宏(預處理程序)未鍵入檢查;編譯器會在使用擴展宏的結果時執行此操作。 –
「...宏從來沒有做過類型檢查」 - 這可能意味着不止一件事。澄清,你究竟在問什麼。 – AnT