define
宏定义在开发中我们都经常用到...
最简单的理解是查找替换...
宏是预处理指令...
是先于编译器对源代码进行处理的指令...
不会对编译出错进行检查...
没有数据类型定义...
宏分为:对象宏和函数宏
对象宏:#define PI 3.14159XXXXXXX....
函数宏:#define Plus(a,b) ((a)+(b))
#ifdef
如果已经定义了某个宏,则编译下面的代码...
#ifndef
如果没有定义某个宏,则不编译下面的代码...
const
是编译的时候处理...
编译出错会报错...
不能定义方法函数...
定义时候有明确的数据类型...
const 修饰他右边的变量.只读.不可变...
/** 可以改变指针的指向 但是不能改变指针指向的内容 不能改变值*/
NSString * const kHomeBottomTitle1 = @"kHomeBottomTitle1";
/** 可以改变指针指向的内容 但是不能改变指针的指向 值可变*/
const NSString * kHomeBottomTitle2 = @"kHomeBottomTitle2";
/** 指针的指向 指针指向的内容都不可改变 不能改变值*/
const NSString * const kHomeBottomTitle3 = @"kHomeBottomTitle3";
static
静态变量...
值可变...
一直在内存中 直到程序结束...
不同位置作用域不通...
extern
在头文件中.为函数或者变量声明作用范围的关键字...
.h中声明
extern NSString * const kHomeBottomTitle1;
.m中定义
NSString * const kHomeBottomTitle1 = @"kHomeBottomTitle1";
网友评论