我能確定數據轉換總是成功嗎?如果我有一個int
並且我使用mmap(2)
,那麼int
轉換爲off_t
和size_t
?爲什麼有這些不同的尺寸?有轉換功能嗎?C數據類型轉換
Q
C數據類型轉換
-1
A
回答
2
因爲mmap返回一個指針,所以我不確定你正在做的mmap函數的用法。
關於轉換就可以在任何變量基本上轉化爲利用鑄造任何東西,但它是你的責任,以驗證這將例如工作:
int i; double d; d = 42.3; i = (int)d; printf("i = %d", i);
輸出將是42,沒有鑄造(int)
一些編譯器可能會抱怨並警告你,你將失去浮動精度。
- 關於爲什麼所有這些不同的尺寸,第一件事
size_t
是代表大小,所以你可以非常認爲它是一個unsigned int
,關於爲什麼不使用unsigned int
,而不是一個Typedef的「爲size_t」 ,看到這個職位unsigned int vs size_t。
+0
好吧,但是因爲我不知道'off_t'是如何定義的,所以我可能會插入一個不適合'off_t'的值。假設我將'size_t'定義爲64位,並且我想將它分配給定義爲32位的'off_t',如果'size_'t被保存在33位上會發生什麼? – Kouros
相關問題
- 1. C++ Uint8數據類型轉換爲const char *數據類型
- 2. 將C數據類型轉換爲Python
- 3. 轉換數據類型之間的C#
- 4. C++參數類型轉換
- 5. 將MySQL Decimal數據類型類型轉換爲c#float數據類型
- 6. SSIS數據類型轉換
- 7. 數據類型轉換
- 8. 轉換數據類型
- 9. 轉換數據類型
- 10. Java數據類型轉換
- 11. 數據類型轉換
- 12. Postgres數據類型轉換
- 13. Postgres數據類型轉換
- 14. SQL轉換數據類型
- 15. 類型數據轉換
- 16. MSSQL數據類型轉換
- 17. XML數據類型轉換
- 18. Flex數據類型轉換
- 19. 類型轉換,從DB數據類型的Java數據類型
- 20. 類型轉換C++
- 21. C++類型轉換
- 22. C#類型轉換?
- 23. C#類型轉換
- 24. C#類型轉換
- 25. C#類型轉換
- 26. C#類型轉換爲泛型參數
- 27. c或C++類型轉換
- 28. 類型轉換泛型類型C++
- 29. 將c#數據類型轉換爲等效的java數據類型
- 30. 內置數據類型轉換到用戶定義的數據類型C++
您絕對不能確定轉換總是成功。例如,如果無法用新類型表示值,則整數類型到浮點類型以及從浮點到整數的轉換會導致未定義的行爲。 – EOF
您能確定轉換總是成功嗎?不,在你的具體例子中,'off_t'甚至不是標準的C,它是POSIX。雖然'size_t'和'int'都保證至少有16位。 –
另外,由_「爲什麼有所有這些不同大小?」,你是什麼意思?你的意思是爲什麼不同類型的尺寸不一樣,或者爲什麼會有不同的類型,或者......? –