wwfl.net
当前位置:首页 >> #DEFinE与int的区别 >>

#DEFinE与int的区别

define 声明常量,整个类都可以使用int 可以声明全局变量,或者局部变量,适用范围相对较小

#define a 3; 这里的a不是一个变量, 你可以认为这个a就是3的另一种写法,它就是3,不会再变了(除非你#undefine)int a = 3; 这个a是一个变量, 虽然现在的值是3,但是你可以给它赋别的值.

#define n 5只是简单的替换 和int n=5 区别在于int n=5 带有类型检查

区别太大了:#define定义的是一个宏,不占据内存,int定义的是一个变量,占据内存.#define定义的i只在编译预处理有作用,int定义的i在编译、运行中都有作用.#define定义的i没有类型,int定义的i有类型的概念.#define定义的i的作用域是全局,直到某个地方取消它;int定义的i的作用域和其出现的位置有关,不需要显式去取消它.

define是宏定义,#define N 5出现在其下的N都会被预处理器替换成5这个是不生成相应可执行代码的在main里面写的int N=5是在main函数中定义一个局部变量N,其值为5对应有相应的内存空间

前面一种会识别elemeype为一种数据类型,可以定义elemtype a;而后面的只是对int 定义了一个宏,在编译时会将使用elemtype的地方替换成int,这样使用没什么区别,不过不推荐,如果是想作为类型的话,还是推荐是用typedef;

#define 是预定义变量等的值typdef是预定义变量类型的

1) #define是预处理指令,在编译预处理时进行简单的替换,不作正确性检查,不关含义是否正确照样带入,只有在编译已被展开的源程序时才会发现可能的错误并报错.例如:#define PI 3.1415926 程序中的:area=PI*r*r 会替换为3.1415926*r*

用define可以定义一个常量, 如:#define abc 123但typedef就不行了:typedef 123 abc理解(思考这两个关键字的用途):define定义的东西, 在编译前时都执行了替换, 相当于重新编辑了代码typedef只能定义类型, 从名字上就能看出来道理上可以用define代替typedef, 但代码就显得不伦不类了..

typedef是C语言语句,其功能是用户为已有数据类型取“别名”.例如:typedef int INTEGER;这以后就可用INTEGER来代替int作整型变量的类型说明了,如:INTEGER a,b;用typedef定义数组、指针、结构等类型将带来很大的方便,不仅使

网站首页 | 网站地图
All rights reserved Powered by www.wwfl.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com