define 与 typedef

2022-10-22  本文已影响0人  gpylove

#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

上一篇下一篇

猜你喜欢

热点阅读