c语言中的宏
A. c语言 宏
难道3不能是字符串吗?
"3*pi"是字符串,"3"是它的子串。
"3*pi"宏展开后为"3*3.1415926"也是字符串,整个源程序都被认为字符串!
现在,还有有编译,编译时,编译器会把3*3.1415926当表达式计算,用结果再替换一次!
B. c语言中“宏”是个什么东西 有什么意义
宏定义的作用在预编译阶段,形如 #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 这也就是为什么我们管宏定义出来的函数叫傻瓜函数的原因了~~~
楼主呀~~~完全手写,一定要好评呀!^_^
C. 在C语言中“宏是什么意思”
宏定义是C提供的三种预处理功能的其中一种,这三种预处理包括:宏定义、文件包含、条件编译
宏定义又称为宏代换、宏替换,简称“宏”。
格式:
#define 标识符 字符串
其中的标识符就是所谓的符号常量,也称为“宏名”。
预处理(预编译)工作也叫做宏展开:将宏名替换为字符串。
掌握"宏"概念的关键是“换”。一切以换为前提、做任何事情之前先要换,准确理解之前就要“换”。
即在对相关命令或语句的含义和功能作具体分析之前就要换:
例:
#define PI 3.1415926
把程序中出现的PI全部换成3.1415926
说明:
(1)宏名一般用大写
(2)使用宏可提高程序的通用性和易读性,减少不一致性,减少输入错误和便于修改。例如:数组大小常用宏定义
(3)预处理是在编译之前的处理,而编译工作的任务之一就是语法检查,预处理不做语法检查。
(4)宏定义末尾不加分号;
(5)宏定义写在函数的花括号外边,作用域为其后的程序,通常在文件的最开头。
(6)可以用#undef命令终止宏定义的作用域
(7)宏定义不可以嵌套
(8)字符串" "中永远不包含宏
(9)宏定义不分配内存,变量定义分配内存。
(10)宏定义不存在类型问题,它的参数也是无类型的。
D. c语言中什么是宏定义,它是干什么的
就是强制性的字符替换,比如说你要用a代表6,那么后面所有是a的地方都是用字符6替换掉就可以了,这个是不进行运算只是替换
比如define a (a+b)
那么后面所有a的地方都可以全部替换成(a+b)但是你不能用a+b的结果
E. 在C语言中 宏定义是什么
在C语言源程序中,允许用一个标识符来表示一个字符串,称为宏,宏定义是由源程序中的宏定义命令完成的,宏替换是由预处理程序自动完成的。宏定义是C提供的三种预处理功能的其中一种,这三种预处理包括:宏定义、文件包含、条件编译。
(5)c语言中的宏扩展阅读:
宏(Macro),是一种批量处理的称谓。计算机科学里的宏是一种抽象,它根据一系列预定义的规则替换一定的文本模式。
计算机语言如C语言或汇编语言有简单的宏系统,由编译器或汇编器的预处理器实现。C语言的宏预处理器的工作只是简单的文本搜索和替换,使用附加的文本处理语言如M4,C程序员可以获得更精巧的宏。
F. 什么是c语言里面的宏
简而言之:就是用一个符号代替一堆东西。让代码精简化
G. 在C语言中"宏"是什么意思
定义的意思,在C语言中的宏定义就是定义外部变量,内部函数使用exiterm来调用
如:exiterm char c1,c2;
C语言中的宏定义的字是:defineC语言中的define宏定义有带参数的和不带参数两中形式,不带参格式是:#define 宏名,字符串带参格式是:#define 宏名(参数1,参数2,...) 字符串在C语言里宏定义只用来做的宏名替换,而不做语法检查的,因而它不是C语句,所以在宏定义的时候不需要在后面加";"宏也在C里也叫预处理命令,因为宏是在程序编译前先进行字符替换的,所以叫预处理.在C里还有其它的预处理命令如:
#define
#undef
#ifdef等。
H. c语言中的宏展开是在什么是进行的/
宏展开是在预处理阶段进行的。
从逻辑上讲,C程序的完整编译通常包括以下几个阶段:
1.预处理:字符集转换、三重跟踪处理、断行连接、条件编译、文件包含、宏定义扩展、转义字符替换和其他预处理命令(#pragma、#line等)。
翻译:预处理后的代码被翻译成词法和语义检查,然后翻译成中间代码。
3.汇编(assembly):将代码替换到目标平台中的目标代码中,得到目标文件(在Windows上是。)Obj)。
4.链接:将目标文件集合转换为最终目标文件(例如:exe和.dll)。
(8)c语言中的宏扩展阅读:
宏定义
宏定义是C提供的三种预处理功能之一:宏定义、文件包含和条件编译
无参数宏定义:
宏观定义又称宏观替代,宏观替代,简称“宏观”。
格式:#定义标识符字符串
标识符称为符号常量,也称为“宏名称”。
预处理(预编译)也称为宏展开:用字符串替换宏名。
掌握宏概念的关键是替换。一切都以改变为前提,做任何事之前都要改变,准确理解“改变”的必要性。
复杂的如下所示。下面的宏定义带有参数,多行宏定义,在Linux内核源代码中有很多。
sizeof也是一个宏定义。
I. C语言什么是宏
C中,源程序中用一个标识符表示一个字符串,称为宏。被定义为宏的标识符称为宏名。在编译预处理时对宏名都用宏定义中的字符串代替,成为宏替换,由程序自动完成