1
A
回答
4
Objective-C不像PHP或其他解釋型語言,其中變量的「類型」可以根據您的使用方式而改變。所有變量在聲明時都設置爲固定類型,並且不能更改。由於類型是在編譯時定義的,因此不需要在運行時查詢變量的類型。
例如:
float var1; // var1 is a float and can't be any other type
int var2; // var2 is an int and can't be any other type
NSString* var3; // var3 is a pointer to a NSString object and can't be any other type
類型是變量名前指定,也是功能:
- (void)initWithValue:(float)param1 andName:(NSString*)param2
{
// param1 is a float
// param2 is a pointer to a NSString object
}
因此,大家可以看到,變量聲明時的類型是固定的(你也會注意到所有的變量都必須聲明,也就是說,除非你先聲明它,否則你不能突然開始使用新的變量名)。
-4
使用sizeof。對於雙倍,將是8.浮點數爲4。 double x = 3.1415; float y = 3.1415f; printf(「x的大小是%d \ n」,sizeof(x)); printf(「y的大小是%d \ n」,sizeof(y));
0
在編譯的基於C的語言(除了帶符號的調試模式之外),除非知道類型或猜測類型並且運氣好,否則實際上不能「檢測」任何變量。
所以通常情況下,您知道並在任何變量引用之前聲明該類型。
如果沒有類型信息,最好的做法可能是將指針取消引用到內存中的隨機未知位/字節,並且希望不會導致非法內存引用崩潰。
添加的註釋:
如果你知道的類型是合法的目標C的對象,那麼你也許可以查詢關於類等附加信息的運行,但不是整數,雙打,等等。
相關問題
- 1. Flex中的double或float數據類型?
- 2. 位數float和double變量
- 3. 在C中,float或double類型是如何工作的?
- 4. 我如何傳遞iPhone sdk中float數據類型的值?
- 5. Float,Boolean,double是類或基本數據類型,在java中..?
- 6. 如何將Double類型的變量賦值給Integer類型?
- 7. 轉換float結果爲double類型
- 8. double和float數據類型的行爲
- 9. 從int,float,char,double的類型轉換
- 10. C++如何將int整型爲float/double?
- 11. iphone sdk - 檢測用戶或光輸入
- 12. 檢測iPhone設備類型
- 13. float或double特殊值
- 14. 檢測是否變量是sympy類型
- 15. 關於變量類型「double」的問題
- 16. 如何檢查Float變量是否爲空或空IN JAVA
- 17. 如何在C++中使用類型double/float時設置精度
- 18. Lua檢查變量的類型是否爲float
- 19. 檢查變量double類型是否更少0
- 20. 檢查double類型的變量是否爲null,生成錯誤
- 21. 如何檢測觸摸的數量在iPhone SDK中的UIView
- 22. SML如何檢查變量類型?
- 23. 如何檢查變量的類型? Python
- 24. 刪除變量的類? iPhone SDK
- 25. 眨眼檢測爲iphone sdk
- 26. 如何檢測jsp中的變量類型?
- 27. 如何檢測Vissual Assist X中的變量類型?
- 28. JESS - >如何檢查變量的類型並測試它?
- 29. 浮動變量是如何自動提升爲double類型的?
- 30. 如何爲double類型變量設置數字格式?
這個答案根本不是問題所在,它不允許你區分具有相同大小的類型。 – jhabbott 2010-10-01 17:21:38