对于a的值的定义,是不是最后实际运算都一样的
sum=a+b
最后的实际运算sum都不影响,或者也不影响其他的事情
大家帮帮忙,这么说#define a 3不当是对程序的一个部分起作用,还是对程序所有起作用,int a=3不当是对程序的一个部分起作用,还是对程序所有起作用,我想知道这一点.
#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()的用法一样(取反的意思)。