typedef语句和数据类型转换

1.typedef语句

objective c允许编程者微数据类型另外指派一个名称。

使用typedef语句的好处主要是增加了程序的可读性。用传统方法不能够清晰表示出变量的用途。

例如:

typedef Number *NumberObject;

则如下语句:

NumberObject   myValue1,myValue2,myResult;

等价于:

Number *  myValue1,myValue2,myResult;

语句。

若要使用typedef语句定义一个新类型名,可按照下面的步骤:

1)像声明所需类型的变量那样编写一条语句。

2)在通常应该出现声明的变量名的地方,将其替换为新的类型名。

3)在语句的前面加上关键字typedef。

例如:

typedef enum {east, west,south,north}Direction;

Direction step1,step2;

2.数据类型转换

不同数据类型的数据是可以转换成同一种数据类型,然后进行计算。转换的方法有两种,一种是自动转换,一种是强制转换。自动转换发生在不同数据类型的数据混合运算时,由系统自动完成。Objective-C 编译器会遵循一些非常严格的规则,编译器按照下面的顺序转换不同类型的操作数。

1.如果其中一个数是long double类型的,那么另一个操作数被转换为long double类型,计算的结果也是long double类型。

2.否则,如果其中一个数是double类型的,那么另一个操作数被转换为double类型,计算的结果也是double类型。

3.否则,如果其中一个数是float 类型的,那么另一个操作数被转换为float 类型,计算的结果也是float类型。

4.否则,如果一个数是unisigned类型,那么另一个操作数被转换为unisigner 类型,计算的结果也是unisigner类型。

5.否则,如果其中一个数是long long int 类型,那么另一个操作数被转换为long long int 类型,计算的结果也是long long int 类型。

6.否则,如果其中一个数是long int类型,那么另一个操作数被转换为long int类型,计算的结果也是long int类型。

7.否则,如果其中一个数是int类型,那么其他的如Bool、char、short int、bit field、枚举类型,则全部转换为int 类型,计算的结果也是int类型。

8.unsigned 一般比同级的整形 类型高两个级别。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值