#define与typedef功能类似,但它除了定义数据类型外,还可以定义给变量、语句等等定义,还可以包含参数。#define的原理是文本替换。 具体用法:
#define INTEGER int
//把int定义成INTEGER
#define PRINTNUM(i) NSLog(@"%d",i)
//把后面的输出语句定义成带参数的PRINTNUM
int main (int argc, const char * argv[])
{
@autoreleasepool {
INTEGER i=5;
NSLog(@"%d",i);
PRINTNUM(555);
}
return 0;
}
执行结果: 2012-02-07 15:12:29.011 hello[629:707] 5 2012-02-07 15:12:29.014 hello[629:707] 555
用##可以连接两个标记,如:当一个变量名由传进的参数和常量组成时,比如变量名为xn,n由参数传入,则可以写成x##n 用#可以创建一个C风格的常量字符串。