`
yxwang0615
  • 浏览: 551436 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

C++宏定义 define

阅读更多

注意的问题:
(1)宏定义不是说明或语句,在行末不必加";"如加上;则连";"一起置换。
(2)宏定义必须写在函数外,其作用域为从宏定义命令起到源程序结束,如要终止其作用域可以使用#undef。

#define PI 3.14
main(){}
#undef PI
fi(){}
 


表示PI只在main中有效,在fi中无效。
(3)对"输出格式"作宏定义,可以减少书写麻烦。

#define P print
#define D %d\n
#define F %f\n
main()
{
  int a = 5;
  float b =8.8;
  P(DF,a,b);
}
   


http://wenku.baidu.com/view/2d584bfff705cc175527098c.html

 

分享到:
评论

相关推荐

    C++/C 宏定义(define)中# ## 的含义

    介绍C++/C 宏定义(define)中# ## 的含义, 并以C++代码举例说明

    宏定义define使用整理

    #define宏定义使用整理,主要是宏定义的编译过程,##和#的使用。

    #define 宏定义的一些用法总结

    C、C++语言中的“#define” 宏定义的一些用法总结,很好的资料

    [C++中】const常量与define宏定义的区别

    较详细地介绍了const常量与宏定义的区别

    C/C++:const常量与define宏定义的区别

    (1) 编译器处理方式...(宏定义不分配内存,变量定义分配内存。)  const常量会在内存中分配(可以是堆中也可以是栈中)。  (4)const 可以节省空间,避免不必要的内存分配。 例如: #define PI 3.14159 //常量宏

    基于C中含有if的宏定义详解

    含有if的宏定义当宏定义中含有 if 时1) 定义如下宏#define DC(p) if( foo(p) )fun(p)用在下面的环境中if(k>n)DC(k);elseDC(n);宏替换后,如下if(k>n)if( foo(k) )fun(k);elseif( foo(n) )fun( n );可见, 原来的 if 和...

    C/C++宏定义的可变参数详细解析

    最近在看《Linux C编程一站式学习》这本书,就想到一个方法: 代码如下:void myprintf(char* fmt, …){}#ifdef DEBUG#define printf(fmt, args…) myprintf(fmt, ##args)#endif调试阶段带着DEBUG调试,正式上线就...

    C/C++中宏定义(#define)

    #define命令是C语言中的一个宏定义命令,它用来将一个标识符定义为一个字符串,该标识符被称为宏名,被定义的字符串称为替换文本。接下拉通过本文给大家分享C/C++中宏定义(#define)知识,需要的朋友参考下

    C/C++语言宏定义使用实例详解

    C/C++语言宏定义使用实例详解 1. #ifndef 防止头文件重定义 在一个大的软件工程里面,可能会有多个文件同时包含一个头文件,当这些文件编译链接成 一个可执行文件时,就会出现大量“重定义”的错误。在头文件中实用...

    常用C/C++预处理指令详解

    宏定义:#define 文件包含:#include 条件编译:#if、#elif、#ifndef、#ifdef、#endif、#undef 错误信息指令:#error #line指令 布局控制:#pragma 宏定义  宏定义又称为宏代换、宏替换,简称“宏”。宏替换只作...

    C/C++中的typedef和#define详解

     在C/C++中,我们平时写程序可能经常会用到typedef关键字和#define宏定义命令,在某些情况下使用它们会达到相同的效果,但是它们是有实质性的区别,一个是C/C++的关键字,一个是C/C++的宏定义命令,typedef用来为一...

    C语言中define的用法

    define是C语言中的预处理命令,它用于宏定义,可以提高源代码的可读性,为编程提供方便。 预处理命令以“#”号开头,如包含命令#include,宏定义命令#define等。一般都放在源文件的前面,它们称为预处理部分。 ...

    函数式宏定义与普通函数的区别

    我们以下面两行代码为例,展开描述:函数式宏定义:#define MAX(a,b) ((a)>(b)?(a):(b))普通函数 :MAX(a,b) { return a>b?a:b;} (1)函数式宏定义的参数没有类型,预处理器只负责做形式上的替换,而

    在C++中自定义宏的简单方法

    可以使用宏定义没有返回值的“函数”。例如:  代码如下:#define PrintMax(a, b) \ do \ { \ int x = a, y = b; \ printf(“Max: %d\n”, x > y ? x : y);\ } while (0) // … PrintMax(3, 4);  这样的...

    C/C++宏替换实现详解

    通常情况下,#define 指令占一行,替换文本是 define 指令行尾部的所有剩余部分,但也可以把一个较长的宏定义分成若干行,这时需要在待续的行末尾加上一个反斜杠符 “。 宏定义也可以带参数,这样可以对不同的宏调用...

    C/C++ 宏详细解析

    众多C++书籍都忠告我们C语言宏是万恶之首,但事情总不如我们想象的那么坏,就如同goto一样。宏有一个很大的作用,就是自动为我们产生代码。如果说模板可以为我们产生...1. 宏可以像函数一样被定义,例如:#define min(x

    C++中const与#define的利弊分析

    定义的常量有类型名字,存放在内存的静态区域中,在程序运行过程中const变量只有一个拷贝,而#define 所定义的宏变量却有多个拷贝,所以宏定义在程序运行过程中所消耗的内存要比const变量的大得多; 用define定义的...

    C++语言基础教程吕凤煮著

    在创建MFC应用时,类向导会为每个头文件添加宏定义,例如: #if !defined(AFX_ODBCVIEW_H__B82AC4A2_3DBE_4A29_A549_F9939BE498E3__INCLUDED_) #define AFX_ODBCVIEW_H__B82AC4A2_3DBE_4A29_A549_F9939BE498E3__...

    C/C++中宏/Macro的深入讲解

    前言 宏(Macro)本质上就是代码片段,通过别名来使用。在编译前的预处理中,宏会被替换为真实所指代的代码片段,即下图中 Preprocessor 处理的部分。...通过 #define 指令定义一个宏。 #define N

Global site tag (gtag.js) - Google Analytics