#define
#define是宏定义,发生在预编译阶段,属于预编译指令,本身不参与编译,在编译预处理时进行简单的替换,不进行任何检查,只有在编译时才会发现可能的错误并报错,除非希望替换的文本中有;否则不用加。
宏的常见用法:
//常见的字符串抽成宏
#define kWaterAlpha 0.04f //水印的透明度
//常见的方法抽成宏
#define WeakSelf __weak typeof(self) weakSelf = self;
typedef
typedef常用于给类型起别名(给已知的类型起别名),用于简化复杂类型,变量类型意义化等,typedef是类型替换,直接参与编译,有类型检查的功能,typedef是语句的一种,结尾必须有;。typedef可以增强程序的可读性,以及标识符的灵活性。
typedef的常见用法如下:
typedef double NSTimeInterval;//给double取别名为NSTimeInterval(变量类型意义化)
typedef NSTimeInterval MyTime;//给NSTimeInterval取别名为MyTime
typedef NS_ENUM(NSInteger, Gender) { Man, Woman};//给枚举取别名为Gender
typedef void(^MyBlock) (inta,intb);//给block取别名MyBlock
typedef int(*MyFunction) (inta,intb);//给指向函数的指针取别名MyFunction
网友评论