# define

原创 2017年01月03日 10:31:43

1、#define

  • #开头的都是预处理命令
  • 末尾不需要加分号,如果有分号,替换时会连同分号一起替换
  • define只是做简单的文本替换,但若是以字符串的形式被调用,则不会进行替换。例如:#define X 25*12   printf(" I X O");其中X不会进行替换
  • #define 的作用域是从宏定义开始,到源程序结束,若想提前结束,使用#undef X


2、define 与typedef区别

  • 处理时间:define是在预处理阶段完成替换;typedef是在编译时进行处理
  • typedef是对类型说明符的重命名,而define只是简单的代换;
                #define P1 int *

                typedef int * P2

                P1  a,b;    //相当于 int * a,b;   a是int 型指针,而b是int整数

                P2 a,b;  //相当于 int *a,*b; a、b都是int型指针

3、define用法

  • #define 宏名(形参)  函数实现    注意:宏名与(形参)之间不能有空格
  • 形参不占内存空间
  • 当宏定义有多行,在每行结尾加“/”,最后一行不需要








#define中#和##的作用

#define f(a,b) a##b  #define d(a) #a  #define s(a) d(a)  void main( void )  {      puts(d(f(a...
  • qq_15457239
  • qq_15457239
  • 2017年02月24日 15:27
  • 3400

#define的错误使用

在MFC当中我们比较容易看到用#define定义的宏,但是红定义却
  • zhouyelihua
  • zhouyelihua
  • 2014年09月19日 10:16
  • 1369

#define的用法体会

#define 创建一个宏,该宏是标识符或参数化标识符与标记字符串的关联。 在定义宏之后,编译器可用标记字符串替换源文件中标识符的每个匹配项。 语法 #define identifier toke...
  • u013696062
  • u013696062
  • 2014年08月27日 09:26
  • 2134

typedef和#define的作用范围

转载自:http://blog.sina.com.cn/s/blog_70ec9a6f01014mqs.html typedef: 如果放在所有函数之外,它的作用域就是从它定义开始直到...
  • sangyongjia
  • sangyongjia
  • 2016年03月08日 13:59
  • 1372

#define 字符串拼接

#define BASEURL @"http://ios.cn/interface" #define BODYURL  @""BASEURL@"/home/list"     ----方法1 ...
  • Dlg1992
  • Dlg1992
  • 2016年04月19日 18:32
  • 495

关于c语言#define debug

C/C++ code #includeiostream> using namespace std; #define DEBUG int factorial(int num) { if(nu...
  • jasonwoodlee
  • jasonwoodlee
  • 2011年08月30日 22:30
  • 3805

extern 与 #define 使用说明

extern与#define两者的使用从本质上讲没有本质的区别,无非就是为编译器的编译格式所服务的; 他们在编译的过程不是同一个阶段,#define是在编译器的预编译时期,而extern是在编译器的...
  • sakawa_x
  • sakawa_x
  • 2014年12月01日 11:34
  • 1046

#define里的换行问题

#define里的换行问题 在 define中,如果想要换行的话,就要用"\"符号 例如: #define DIRATTR (DDL_READWRITE | DDL_READ...
  • shuixin536
  • shuixin536
  • 2013年03月08日 13:46
  • 2006

javascript中的define用法

最近由于工作需求只能快速学习JS,但在看代码的时候发现许多东西都有疑问比如说代码刚开始的define关键字的用法,刚好最近看了一篇好文章,分享一下。 1. AMD的由来   前端技术虽然在不断发展...
  • qq_16633405
  • qq_16633405
  • 2017年09月13日 08:50
  • 2700

require js之define 函数

require js define 函数 模块不同于传统的脚本文件,它良好地定义了一个作用域来避免全局名称空间污染。它可以显式地列出其依赖关系,并以函数(定义此模块的那个函数)参数的形式将这些依赖进行...
  • u010130282
  • u010130282
  • 2016年08月26日 16:49
  • 19666
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:# define
举报原因:
原因补充:

(最多只允许输入30个字)