永发信息网

c语言中“宏”是个什么东西 有什么意义

答案:5  悬赏:40  手机版
解决时间 2021-11-15 09:32
  • 提问者网友:容嬷嬷拿针来
  • 2021-11-14 11:51
c语言中“宏”是个什么东西 有什么意义
最佳答案
  • 五星知识达人网友:慢性怪人
  • 2021-11-14 13:08
宏定义的作用在预编译阶段,形如 #define A B 就是宏定义了,作用就是在预编译阶段将程序中的A全部视为B,举个例子:
我们在程序最开始,声明如下宏定义
#define pi 3.1415926
那么在我们写程序的时候,我们可以直接使用pi作为一个常量来使用,那么当我们编译程序的时候,编译器会自动将程序中出现的pi替换成3.1415926

第二个例子,利用宏定义定义傻瓜函数
#define mul(A,B) A*B
那么我们可以将mul()在程序中当成函数来使用,为什么叫做傻瓜函数一会来解释,使用方法
mul(3,5) 那么这段代码就相当于计算3*5=15
那么当我们如下使用时就会出现问题
mul(3+2,3) 我们期待的结果是15,而实际结果是9,为什么呢?因为在程序会如下转换
3+2*3=3+6=9 这也就是为什么我们管宏定义出来的函数叫傻瓜函数的原因了~~~

楼主呀~~~完全手写,一定要好评呀!^_^
全部回答
  • 1楼网友:woshuo
  • 2021-11-14 16:18
1楼说的很全。
  • 2楼网友:空山清雨
  • 2021-11-14 15:59
宏就是 用一个声明去定义一样变量或者函数 就比如 你为你的朋友起个花名 你以后就可以用花名替代他原来的名字
  • 3楼网友:鱼忧
  • 2021-11-14 14:58
“宏”,就是大的意思,c语言中的宏,是一种可以代表任何语言元素的标识符。
这里还有一个概念,就是宏定义,例如:#define A b+c
宏定义出现在c语言的源代码中,在正式编译前,编译器会进行预处理,而预处理过程包括一个很重要的任务(当然还有其它任务),就是替换宏,这种替换是一种机械的替换,并不考虑标识符的语法,语义,也就是说当遇到上面的A时,会直接替换成b+c。
还有一种更加灵活的宏,是带参数的宏,例如:#define F(a,b) (a)+(b)
替换时会根据引入参数,这样,F(1,2)会被替换成(1)+(2)。
  • 4楼网友:傲气稳了全场
  • 2021-11-14 14:32
宏定义的作用在预编译阶段,形如 #define A B 就是宏定义了,作用就是在预编译阶段将程序中的A全部视为B,举个例子:
我们在程序最开始,声明如下宏定义
#define pi 3.1415926
那么在我们写程序的时候,我们可以直接使用pi作为一个常量来使用,那么当我们编译程序的时候,编译器会自动将程序中出现的pi替换成3.1415926

第二个例子,利用宏定义定义傻瓜函数
#define mul(A,B) A*B
那么我们可以将mul()在程序中当成函数来使用,为什么叫做傻瓜函数一会来解释,使用方法
mul(3,5) 那么这段代码就相当于计算3*5=15
那么当我们如下使用时就会出现问题
mul(3+2,3) 我们期待的结果是15,而实际结果是9,为什么呢?因为在程序会如下转换
3+2*3=3+6=9 这也就是为什么我们管宏定义出来的函数叫傻瓜函数的原因了~~~

楼主呀~~~完全手写,一定要好评。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯