#define a 3与int a=3的区别

对于a的值的定义,是不是最后实际运算都一样的
sum=a+b
最后的实际运算sum都不影响,或者也不影响其他的事情
大家帮帮忙,这么说#define a 3不当是对程序的一个部分起作用,还是对程序所有起作用,int a=3不当是对程序的一个部分起作用,还是对程序所有起作用,我想知道这一点.

用#define宏定义 只是将字母a等效替代数字3
如:你甚至可以用宏,定义一个表达式
#define a 3;
#deinne xx a+b;
sum=xx;

而int a=3; a已经初始化并赋值为3.

宏定义直接在编译时就完成了.

不太清楚LZ的意思..
再次说明下
#define 就是对文字的等效替代
而int a=3 是初始化a并赋值为3.已经在内存里面储存了.

如果还不清楚的话.你可以看看谭浩强的<C语言程序设计>"宏定义"这一节.他讲的比较详细.
温馨提示:内容为网友见解,仅供参考
第1个回答  2007-08-25
#define a 3; 这里的a不是一个变量, 你可以认为这个a就是3的另一种写法,它就是3,不会再变了(除非你#undefine)
int a = 3; 这个a是一个变量, 虽然现在的值是3,但是你可以给它赋别的值.
第2个回答  2007-08-25
#define a 3就是使用宏定义常数,不过也不能一概而论,在纯粹的C++中自然视这种东西为不齿了,不过在C和window中还是会经常有的,理想和现实总是有差别的呵呵
第3个回答  2007-08-25
#define a 3;后a就永远是3了
a=3;后a可以变的
第4个回答  2007-08-25
避免使用宏定义常数。

#define a 3与int a=3的区别
define 就是对文字的等效替代 而int a=3 是初始化a并赋值为3.已经在内存里面储存了.如果还不清楚的话.你可以看看谭浩强的<C语言程序设计>"宏定义"这一节.他讲的比较详细.

C语言中常量定义和宏定义有什么区别?
1 + A, 是变成1 + 3的.而const int a = 3;这个是不在预处理器的管理范围之内 ,这个就是编译器的工作了, 有些编译器不会为它分配空间, 直接把它加入符号表中, 也就是说, 常量不再是0123456789这10个数, 而是0123456789a这11个数, 那么a就是被定义成3了, 所以符号表里的内容是01234567893...

c语音中 define和int的区别 ?
define和int的区别要从编程软件对这两个关键字的处理过程来看。define通常被叫做预处理指令,在将源代码编译成可执行文件过程中,它是先被处理的。举个例子说,下面这个代码 define PI 3.14 ……float c,d;c=PI*3.14;在编译成可执行文件过程中,编程软件首先对预处理指令进行替换,替换的结果是...

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

#define a #define a 1 两者什么区别 书上都没说着两者的区别啦,苦恼...
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;...

c语言define用法举例
int*a,b;\/*本意是a和b都是int型指针,但是实际上变成int*a,b;a是int型指针,而b是int型变量。这是应该使用typedef来代替define,这样a和b就都是int型指针了。*\/ 2、带参数的宏 define标识符(x1,x2,x3...xn)替换列表(注意:x1,x2,x3..是宏的参数,标识符和其左括弧之间不能有...

typedef和define具体的详细区别
两者的区别如例:define A int * tepedef int * A;(这是一条语句,要加分号)两者的作用都是将A代表int *,但是#define在预处理时进行简单的替换,而typedef不是简单替换。typedef定义的A相当于定义了一个指针指向了int *。而#define定义的A只是进行了替换。

C语言中“指针”和“指针变量”的区别是什么??
1、概念不同 “指针”是概念,“指针变量”是具体实现,指针也是一个变量,所以需要进行定义,而对于指针的定义,与一般变量一样。2、 存放地址不同 一个变量的(内存)地址称为该变量的“指针”,通过指针能找到以它为地址的内存单元。而指针变量是用来存放另一个变量的地址的(即指针)。

#include<stdio.h> #define a 3 int main() { scanf("%d",a); printf...
有问题, scanf("%d",a)中的a只是个标示符,不是变量,你已经把a定义为3了,不能这样用,你可以定义个变量,比如int b;然后 scanf("%d",b),运行后输入以整数值就行了

#ifdef是不是不能和#elif连用?
这个#if后面接的是一个宏,意思是前面的宏定义里面有没有定义这个宏,如果定义了,编译器就会编译中间的代码,如果没有定义,那就不会编译,不管这个宏定义的是什么东西,对不对等。ifdef的使用 ifdef的使用和#if defined()的用法是一样的。ifndef又和#if !defined()的用法一样(取反的意思)。

相似回答