#define a #define a 1 两者什么区别 书上都没说着两者的区别啦,苦恼哦

如题所述

1.#define a
定义条件编译,相当于定义了一个条件
它的用法:一般用于条件编译,比如说有一段代码我在linux环境下是一种写法,在windows下又是一种写法。这个时候,我们就可以这样写
#define WINDOWS
#if defined(WINDOWS)
xxx //do something
#else
xxx
#endif
从上面的例子可以看出,#define a,相当于自定义了一个条件分支,用于不同情况的处理

2.#define a 1
一般的宏定义,相当于使用a来代替1
以后程序中所有出现a的地方都会用1来代替
比如,int aa = a;就相当于int aa = 1;

如果还不理解,请再联系!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-10-19
准确说没有什么区别!#define a 意思第一一个全局的变量,没有给他赋值
如果程序中出现a他不会报错,但是他没有值
#define a 1意思是一个全局变量赋值了1 所有用到它的地方都统一变为1
比如程序中用到cout<<a+1<endl ;等价于cout<<1+1<endl;
第2个回答  2012-10-19
#define 是定义宏
#define a没有实际意义
#define a 1相当于给1起了个别名
当程序编译的时候程序中的 a 就会用1取代,但是类似变量名 a_0 中的a 不会用1取代
第3个回答  2012-10-19
前者只是表示声明了一个宏名,一般用于条件编译
后者不仅可以用于条件编译,还可以用于代码中的常量
第4个回答  2012-10-19
区别只是有没有给1取别名
相似回答