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. 我如何传递iPhone sdk中float数据类型的值?
- 3. C++如何将int整型为float/double?
- 4. iphone sdk - 检测用户或光输入
- 5. float或double特殊值
- 6. 检测是否变量是sympy类型
- 7. 关于变量类型“double”的问题
- 8. 如何检查Float变量是否为空或空IN JAVA
- 9. Lua检查变量的类型是否为float
- 10. 检查double类型的变量是否为null,生成错误
- 11. 如何检测触摸的数量在iPhone SDK中的UIView
- 12. 如何检查变量的类型? Python
- 13. SML如何检查变量类型?
- 14. 如何检测jsp中的变量类型?
- 15. JESS - >如何检查变量的类型并测试它?
- 16. 如何为double类型变量设置数字格式?
- 17. 删除变量的类? iPhone SDK
- 18. nopCommerce更改数量和库存数量为Double或Float
- 19. 如何检查变量是否包含类型或类型列表?
- 20. 处理float和double类型具有相同的泛型参数
- 21. Double vs Float - Java
- 22. Ansible测试变量类型
- 23. 如何使用SDK检测Azure存储类型?
- 24. 检测iPhone中断的类型
- 25. 如何检测Iphone/Ipod音量级别?
- 26. Haskell:检查整数或变量的检查类型
- 27. 提取float/double值
- 28. float和double输出
- 29. Java - int/long,float/double
- 30. 如何在iPhone中显示类型.jpeg或.gif或.tiff的图像sdk
这个答案根本不是问题所在,它不允许你区分具有相同大小的类型。 – jhabbott 2010-10-01 17:21:38