当前位置:新注册送38元体验金 > 新注册送38元体验金编程 > C/C 学习笔记之define 用法详解,学习笔记define

C/C 学习笔记之define 用法详解,学习笔记define

文章作者:新注册送38元体验金编程 上传时间:2019-08-22

4、define的多行定义

在开发当中,我们可能会大量的写一些重复的,甚至具有“危险”的代码,用宏定义#define,往往可以简化代码。define可以替代多行的代码,例如MFC中的宏定义(非常的经典,虽然让人看了恶心)

#define mydefine(arg1,arg2,...) do {  

    printf("Hellon");

    printf("Worldn");

    printf(arg1);

    printf("n");

    printf(arg2);

    printf("n");

}while(0)  

int main(int argc, char const *argv[])

{ mydefine("Owen", "Chan"); }

7. 防止一个头文件被重复包含

由于头文件包含可以嵌套,那么C文件就有可能多次包含同一个头文件,就可能出现重复定义的问题的。

通过条件编译开关来避免重复包含(重复定义)例如

#ifndef __headerfileXXX__
#define __headerfileXXX__ … //文件内容 …
#endif

用法详解,学习笔记define 1、简单的define定义 #define WIDTH 1920#define HEIGHT 1080 WIDTH代表1920,HEIGHT 代表1080 , 编译器在处理...

1、简单的define定义

#define WIDTH 1920

#define HEIGHT 1080

WIDTH代表1920,HEIGHT 代表1080 ,

编译器在处理这个代码之前会对WIDTH 和HEIGHT 进行替换

5、在大规模的开发过程中,特别是跨平台和系统的软件里,define最重要的功能是条件编译。

#ifdef WINDOWS ...... ......
#endif
#ifdef LINUX ...... ......
#endif

可以在编译的时候通过#define设置编译环境。

C/C 学习笔记之define 用法详解,学习笔记define

2、define的“函数定义”

define可以像函数那样接受一些参数,类似于函数模板
int sum = sum(10, 20)

3、宏的单行定义

在#define中,标准只定义了#和##两种操作。#用来把参数转换成字符串,##则用来连接两个前后两个参数,把它们变成一个字符串。

#define Conn(x,y) x##y
#define ToChar(x) #@x
#define ToString(x) #x

Conn(12, 34) --> 1234

6、如何定义宏、取消宏

#define [MacroName] [MacroValue]  //定义宏
#undef [MacroName] //取消宏

本文由新注册送38元体验金发布于新注册送38元体验金编程,转载请注明出处:C/C 学习笔记之define 用法详解,学习笔记define

关键词: