[OC]宏与const 的使用】的更多相关文章

Tip: OS日常工作之常用宏定义大全 (摘录文档地址,感觉还不错,例子简单易懂) extern字符串常量,宏定义字符串常量,怎么选? Define与Const专题 extern字符串常量,宏定义字符串常量,怎么选 http://stackoverflow.com/questions/25746/whats-the-difference-between-a-string-constant-and-a-string-literal http://stackoverflow.com/question…
1.通常常量的定义const放在最前面: 2.宏的定义 #define TAG_ID 101,注意:宏名称和值之间没有等号,宏定义的末尾也不需要分号…
1.#define宏的用法 #define用宏名代替一个字符串,这样便于修改,提高了程序的可移植性.编译器在编译预处理时只对宏做文本替换,而不进行类型检查,所以替换后可能产生一些副作用. 带参数的宏类似于函数调用,但是宏替换不是函数,二者不是一回事. #define square(n) (n)*(n) for(int i=1;i<6;i++) printf("%d/n",square(i++)); 以上语句执行输出的结果为:1,9,25 因为square(i++)被替换为(i++…
1.宏定义函数: 例:#define do{exp} while(0)与#define exp有什么不同,好处在哪里? 定义复杂代码,防止分号,或是括号不匹配等错误.比如: 定义: #define switch(x,y) {int tmp; tmp="x";x=y;y=tmp;} 使用时: if(x>y) switch(x,y); else       //error, parse error before else otheraction(); 在把宏引入代码中,会多出一个分号…
在C语言中使用const来定义一个变量,可以通过变量类型的指针形式来进行修改,而C++中增强了这种表现形式,使得即使通过类型变量指针也不能对变量进行修改. 在C++中const和宏是有区别的. const和#define 宏定义,在编译阶段会被完全的替代,因此在没有定义取消宏(#undefine)之前,是没有作用域限制的. 而C++中的const而是由在静态联编的时候起作用,因此,有作用域的限制.…
#pragma mark--全局变量和局部变量 根据变量的作用域,变量可以分为: 一.全局变量 1> 定义:在函数外面定义的变量2> 作用域:从定义变量的那一行开始,一直到文件结尾(能被后面的所有函数共享)3> 生命周期:程序一启动就会分配存储空间,程序退出时才会被销毁4> 默认的初始值就是05> 首字母大写 static int StudentName 采用帕斯卡命名法 二.局部变量: 1> 定义:在函数(代码块)内部定义的变量(包括函数的形参) 2> 作用域:…
概述 在iOS开发中,经常用到宏定义,或用const修饰一些数据类型,经常有开发者不知怎么正确使用,导致项目中乱用宏与const修饰.你能区分下面的吗?知道什么时候用吗? #define HSCoder @"汉斯哈哈哈" NSString *HSCoder = @"汉斯哈哈哈"; extern NSString *HSCoder; extern const NSString *HSCoder; static const NSString *HSCoder = @&q…
宏, const变量, 内联, 枚举 宏 宏定义: 宏即宏替换,在C语言源程序中允许用一个标识符来表示一个字符串,称为宏,关键字 define,在所有使用到宏的地方都只是直接的替换而不做任何类型检查 宏替换是C提供的三种预处理功能的其中一种,这三种预处理包括:宏定义,文件包含,条件编译,C++继承C的遗产,在C++中也可以使用宏,宏不能访问对象的私有成员, 宏的定义很容易产生二义性 特点:在预处理阶段对宏定义的替换,使用时要特别小心:宏本身不占用内存单元,但每次调用都分配内存:语句的最后不加分号…
在iOS开发中,经常用到宏定义,或用const修饰一些数据类型,经常有开发者不知怎么正确使用,导致项目中乱用宏与const修饰 你能区分下面的吗?知道什么时候用吗? #define HSCoder @"汉斯哈哈哈" NSString *HSCoder = @"汉斯哈哈哈"; extern NSString *HSCoder; extern const NSString *HSCoder; static const NSString *HSCoder = @"…
原文网址:http://www.jianshu.com/p/f83335e036b5 在iOS开发中,经常用到宏定义,或用const修饰一些数据类型,经常有开发者不知怎么正确使用,导致项目中乱用宏与const修饰 你能区分下面的吗?知道什么时候用吗? #define HSCoder @"汉斯哈哈哈" NSString *HSCoder = @"汉斯哈哈哈"; extern NSString *HSCoder; extern const NSString *HSCod…