C语言特性(预处理)

预处理

使用#define、#undef执行宏定义

#define的作用就是为字符串起个名字
关于宏定义,有如下注意点

1.宏定义并不是C语句,因此不要在宏名称与字符串之间使用=进行复制,而且宏定义也无需使用分好结束。 2.宏定义并不是变量,它甚至不是常量,因此不要尝试对宏名称进行赋值。 3.编译器对宏定义处理就是进行“查找、替换”——将所有出现宏名字的地方替换成该宏对应的字符串,因此,要保证宏定义 是正确的。

执行宏定义后,该宏的作用域为从定义该宏开始,知道该源代码结束,如果希望提前结束宏定义,则可以使用如下语句:

    #undef 宏名称

带参数的宏定义

定义参数宏的语法格式如下:

#define 宏名称(参数列表) 字符串

使用#ifdef、#ifndef、#else、#endif执行条件编译

使用#if、#elif、#else、#endif执行条件编译

提供了更通用的条件编译,它可以对指定的表达式进行判断,根据表达式的值决定是否要编译指定的语句。语法格式如下:

#if 表达式
    //任意语句
#elif 表达式
    //任意语句
... //可以有零个或多个#elif语句
//最后的#else语句也可以省略
#else
    //任意语句
#endif

#include与#import

C语言提供了#include来导入其他源程序,而Objective-C则提供了#import来导入其他源程序,而且#import更加好用。

你可能感兴趣的:(Objective-C)