我的iOS开发 2-Objective-C变量与运算符

来源:互联网 发布:JS包含哪几部分 编辑:程序博客网 时间:2024/06/05 09:35

变量

之前提到Objective-C是C语言的超集,所以C的数据类型在OC中基本同样适用。


OC的数据类型分为基本类型、构造类型和指针类型。其中基本类型包涵整形、字符型、浮点型和枚举型,构造类型包涵数组、结构体和联合体。OC并没有硬性规定某些类型在内存中所占的空间,比如在64位Mac上long int占8字节,而在iOS系统上long int只占4字节。对于字符型变量,由于OC的字符占一个字节,因此单个OC字符变量并不支持中文字符。OC中的枚举型与C中基本一致,在此不做记录。OC不区分float和double,一个浮点型常数值既可以赋值给float,也可以赋值给double。另外,OC引入了无穷大与非数的概念。


注:浮点数除以0.0可以得到无穷大,而整型值除以0.0会得到整型取值范围的边界值。0.0除以0.0或对一个负数开方将得到非数。


在OC中同样存在自动类型转换

1.将整型赋值给浮点型不会有太大变化

2.将浮点型赋值给整型,数值的小数点部分会被直接舍去

3.将取值范围大的变量赋值给取值范围小的变量可能会发生溢出


OC中的类型自动提升与C基本一致


运算符

对于运算符,需要说明的并不多,OC与C基本一致。


首先,对于除法运算符"/",当它的两个运算数都是整型时,其运算结果也是整型,并直接舍去小数位(如果存在的话),比如16除5等于3而非3.2。然而在两个运算数中只要至少有一个是浮点型,其运算结果就是浮点型。对于取余运算符“%”,它要求两边运算数都是整数。


其他复杂的算数运算可以调用C标准库中的<math.h>来实现。





0 0
原创粉丝点击