iOS: #define
来源:互联网 发布:久其通用数据平台下载 编辑:程序博客网 时间:2024/04/29 18:38
typedef与#define的区别。
http://www.sf.org.cn/article/base/200608/18988.html
#define 是宏定义,所谓的宏定义,就是将某段代码、地址、字符串等一串的文字,用一个宏来代替。#define是一种预处理。
#define与typedef功能类似,但它除了定义数据类型外,还可以定义给变量、语句等等定义,还可以包含参数。#define的原理是文本替换。
#define INTEGER int//把int定义成INTEGER#define PRINTNUM(i) NSLog(@"%d",i)//把后面的输出语句定义成带参数的PRINTNUMint main (int argc, const char * argv[]){ @autoreleasepool { INTEGER i=5; NSLog(@"%d",i); PRINTNUM(555); } return 0;}
#define最常见的用法是定义常量
#define MAX_VOLUME 11
#define kDatabaseName @"database.sqlite3"
经常采用的一种做法是,把#define放置到一个头文件中,然后,将其包含到各种源文件中。这样,就可以通过在头文件中更改单个的值,从而改变该常量在所有源文件中的值。传统的C对于定义常量所使用的命名惯例是,使用全部大写字母。传统的Apple命名惯例是以一个k开始常量名称,剩下的名称使用CamelCase法命名:
#define kMaximumVolume 11
#define kUrl @"http://google.com"
Say again,#define的原理是文本替换。#define定义时并不会真正去执行它所代表的东东,而是当真正在用到这个define的值时,会进行文本替换然后才执行
例1,
#define PIETWO 3.14159*2
上面预定义了一个PIETWO,其代表3.14159*2,但并不是它已经执行了3.14159*2这个运算。而是当你使用这个PIETWO时,
float x = PIETWO * 10
这时就会用 3.14159*2 来替换PIETWO,然后才来进行运算。
#define ApplicationDelegate ((AppDelegate *)[UIApplication sharedApplication].delegate)
这并不表示“执行了 ((AppDelegate *)[UIApplication sharedApplication].delegate) 然后把这段代码的返回值赋给ApplicationDelegate",而是表示”ApplicationDelegate这个变量就代表 ((AppDelegate *)[UIApplication sharedApplication].delegate) 这段代码,当用到ApplicationDelegate这个变量时,就用这段代码来ApplicationDelegate并执行。- iOS: #define
- IOS #define
- ios #define 宏定义
- IOS #define 的用法
- iOS 常用的#define
- iOS开发常用宏#define
- iOS之宏定义#define
- iOS#define和static const
- iOS中的#ifdef,#define,#endif
- iOS 宏 常见运用 define
- IOS #define和预编译指令
- iOS 宏(define)与常量(const)使用
- iOS 常用的#define合集
- iOS基础之define,const,extern,static
- iOS深入学习:华丽的#define
- IOS 基础-define、const、extern、全局变量
- iOS下的#define不可乱用
- iOS开发深入了解宏定义#define
- SQLiteOpenHelper
- 最简单的ndk示例程序及编译过程
- Qt中translate、tr关系 与中文问题
- Java MD5加密
- 最近遇到了 manifest 的相关问题的记录
- iOS: #define
- linux设备驱动——总线、设备、驱动
- Struts2注解报错"Dispatcher initialization failed"
- Observer观察者模式(来自《设计模式》一书)
- PKCS#1 v2.1 java 语言实现参考
- Xcode 4.2 如何编译静态库
- ssh vps 代理上网/局域网
- WinCE Application: adding a core OCX to make embbed GUI configuration software work
- C# 常用截取字符串