http://www.blogjava.net/jasmine214--love/archive/2010/11/29/339307.html 在现实生活中,信息的概念可能是长度,数量和面积等.在C语言中,信息被抽象为int.float和double等基本数据类型.从基本数据类型名称上, 不能够看出其所代表的物理属性,并且int.float和double为系统关键字,不可以修改.为了解决用户自定义数据类型名称的需求,C语言中引入类 型重定义语句typedef,可以为数据类型定义新的类型名称,从而…
iOS :漫谈#define 宏定义 #define宏定义在C系开发中可以说占有举足轻重的作用.底层框架自不必说,为了编译优化和方便,以及跨平台能力,宏被大量使用,可以说底层开发离开define将寸步难行.而在更高层级进行开发时,我们会将更多的重心放在业务逻辑上,似乎对宏的使用和依赖并不多.但是使用宏定义的好处是不言自明的,在节省工作量的同时,代码可读性大大增加. 如果想成为一个能写出漂亮优雅代码的开发者,宏定义绝对是必不可少的技能(虽然宏本身可能并不漂亮优雅XD).但是因为宏定义对于很多人来说…
问题描述:const 与 define 宏定义之间的区别 (1) 编译器处理方式不同     define宏是在预处理阶段展开:     const常量是编译运行阶段使用: (2) 类型和安全检查不同     define宏没有类型,不做任何类型检查,仅仅是展开:     const常量有具体的类型,在编译阶段会执行类型检查: (3) 存储方式不同     define宏仅仅是展开,有多少地方使用,就展开多少次,不会分配内存:     const常量会在内存中分配(可以是堆中也可以是栈中): 利…
define宏定义中的#,##,@#及\符号 在#define中,标准只定义了#和##两种操作.#用来把参数转换成字符串,##则用来连接两个前后两个参数,把它们变成一个字符串. 1.# (stringizing)字符串化操作符.其作用是:将宏定义中的传入参数名转换成用一对双引号括起来参数名字符串.其只能用于有传入参数的宏定义中,且必须置于宏定义体中的参数名前. 如: #define example(instr) printf("the input string is:\t%s\n",#…
const   const 是c++中的修饰符.  c++中常用来定义常量,修饰左值. #define 宏定义语句, 在预处理阶段直接做文本替换,不做类型检查. 它们之间的最大区别: 1.  对于const 变量,系统只给了一个相应的内存地址,而#define则是给出了一个立即数.因为const变量是存放在内存的静态区域中,所以在程序运行过程中const变量只有一个拷贝,而#define 所定义的宏变量却有多个拷贝,所以宏在程序运行过程中所消耗的内存要比const变量的大得多.#define所定…
所谓数据重命名就是给数据类型起一个新的名字,比如int 这个数据类型,可以给他起一个新的名字叫 my int.他俩的用法.特点.属性等是一模一样,仅仅名字不同而已. 作用:1,增加代码的可读性.2,让类型写起来更方便. 函数指针类型 void fun (int a,double d) { } 这个函数的函数指针是什么类型的? void(*)(int,double) 重命名 pFun是函数指针类型了. 以后不用写那么长了: 总之…
       #define宏定义在C系开发中可以说占有举足轻重的作用.底层框架自不必说,为了编译优化和方便,以及跨平台能力,宏被大量使用,可以说底层开发离开define将寸步难行.而在更高层级进行开发时,我们会将更多的重心放在业务逻辑上,似乎对宏的使用和依赖并不多.但是使用宏定义的好处是不言自明的,在节省工作量的同时,代码可读性大大增加.       如果想成为一个能写出漂亮优雅代码的开发者,宏定义绝对是必不可少的技能(虽然宏本身可能并不漂亮优雅XD).但是因为宏定义对于很多人来说,并不像业务…
1.define是宏定义,程序在预处理阶段将用define定义的内容进行了替换.因此程序运行时,常量表中并没有用define定义的常量,系统不为它分配内存.const定义的常量,在程序运行时在常量表中,系统为它分配内存.2.define定义的常量,预处理时只是直接进行了替换.所以编译时不能进行数据类型检验.const定义的常量,在编译时进行严格的类型检验,可以避免出错.3.define定义表达式时要注意“边缘效应”,例如如下定义:    #define N 2+3 //我们预想的N值是5,我们这…
--[语法] sp_rename [ @objname = ] 'object_name' , [ @newname = ] 'new_name' [ , [ @objtype = ] 'object_type' ] --对象可以是表.索引.列.别名数据类型或 Microsoft .NET Framework 公共语言运行时 (CLR) 用户定义类型. @objtype= 值 说明 COLUMN 要重命名的列 DATABASE 用户定义数据库.重命名数据库时需要此对象类型 INDEX 用户定义索…
#define RADIUS 100; const  float   RADIUS = 100; (1) 编译器处理方式不同 define宏是在预处理阶段展开. const常量是编译运行阶段使用. (2) 类型和安全检查不同 define宏没有类型,不做任何类型检查,仅仅是展开. const常量有具体的类型,在编译阶段会执行类型检查. (3) 存储方式不同 define宏仅仅是展开,有多少地方使用,就展开多少次,不会分配内存.(宏定义不分配内存,变量定义分配内存.) const常量会在内存中分配…