关闭

[学习笔记—Objective-C]《Objective-C 程序设计 第6版》第十二章 预处理程序

标签: iosios开发objective-c
422人阅读 评论(0) 收藏 举报
分类:

Part 1. #define语句

  • #define语句的基本用途之一是给符号名称指定程序常量。类似于文本编辑器中的搜索和替换。

  • 优点

    • 记忆成本低:不必特意记住常量的值
    • 更改便携性:只需在一个地方更改常量的值
    • 加强程序的可扩展性:定义数组的大小
  • 定义的内容

1.定义整数

#define TRUE 1 // 定义TRUE,并使其等于1。
gameover = TRUE // 将1赋给gameover。

2.定义表达式和其他任何内容

#define TWO_PI 2.0 * 3.1415926

#define AND &&
#define OR ||

3.预定义的本身可以引用另一个预定义的值

#define TWO_PI 2.0 * PI //顺序可以颠倒
#define PI 3.1415926

4.带有一个或多个自变量的定义

#define IS_LEAP_YEAR(y) y % 4 == 0 && y % 100 != 0 \
                                || y % 400 == 0 
.
.

if (IS_LEAP_YEAR (year))                                

Part 2. #import语句

开发的一组宏收集到一个单独的文件(头文件,包含文件)中,然后使用#import语句把它们包含在程序中。

头文件的引用

  • 头文件名两侧是“”:预处理程序首先在包含源文件的目录中查找。但是可以通过修改“项目设置”用Xcode指定预处理程序搜索的确切位置。
  • 头文件名两侧是<>:预处理程序只在特殊的“系统”头文件目录中寻找头文件。

Part 3. 条件编译

条件编译功能:创建可以在不同计算机系统上编译运行的程序。还经常用来开关程序中的各种语句。

Part 3.1 #ifdef, #endif, #else 和 #ifndef 语句

#ifdef IPAD    //若前面已经定义了 IPAD, 则执行:

# define kImageFile @"barnHD.png"
#else
# define kImageFile @"barn.png"
#endif

为预处理程序定义符号IPAD:

#define IPAD 1
//或者
#define IPAD

Part 3.2 #if 和 #elif 预处理程序语句

#if语句用来检测常量表达式是否非零。如果常量表达式的结果非零,机会处理到#else,#elifendif为止的所有后续行。

Part 3.3 #undef语句

消除特定名称的定义

0
0

猜你在找
【套餐】Hadoop生态系统零基础入门
【套餐】嵌入式Linux C编程基础
【套餐】2017软考系统集成项目——任铄
【套餐】Android 5.x顶级视频课程——李宁
【套餐】深度学习入门视频课程——唐宇迪
【直播】广义线性模型及其应用——李科
【直播】从0到1 区块链的概念到实践
【直播】计算机视觉原理及实战——屈教授
【直播】机器学习之凸优化——马博士
【直播】机器学习&数据挖掘7周实训--韦玮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:36278次
    • 积分:838
    • 等级:
    • 排名:千里之外
    • 原创:49篇
    • 转载:0篇
    • 译文:0篇
    • 评论:8条
    文章分类
    最新评论