C语言(宏定义)

674 阅读1分钟

宏定义是C提供的三种预处理功能(宏定义、文件包含、条件编译)的其中一种。

C语言执行的流程: 1、编译:形成目标代码(.obj) 2、连接:将目标代码与C函数库连接合并,形成最终的可执行文件 3、执行

宏定义也叫做:宏替换、预编译指令

作用: 使用define指令 1、定义标示,防止文件重复引入 如:#ifdef __cplusplus 标识支持C++语法

2、定义常数(便于修改与阅读)

#define MIN 60


void main(){
	
	int i = 100;

	if (i > MIN){
		printf("比MIN大..");
	}

	getchar();
}

###宏函数

void test_read(){
	printf("read\n");
}

void test_write(){
	printf("write\n");
}
//NAME是参数
#define jni(NAME) test_##NAME();

void main(){
	
	jni(write);//替换:write();
	getchar();
}

运行结果.png

void read(){
	printf("read\n");
}

void write(){
	printf("write\n");
}
//NAME是参数
#define jni(NAME) NAME();

void main(){
	
	jni(read);//替换:read();
	getchar();
}

运行结果.png

#define LOG(LEVEL,FORMAT,...) printf(##LEVEL); printf(##FORMAT,__VA_ARGS__);
#define LOG_I(FORMAT,...) LOG("INFO:",##FORMAT,__VA_ARGS__);
#define LOG_E(FORMAT,...) LOG("ERROR:",##FORMAT,__VA_ARGS__);
#define LOG_W(FORMAT,...) LOG("WARN:",##FORMAT,__VA_ARGS__);

void main(){
	
	LOG_E("%s%s", "name:", "xiaoming");
	getchar();
}

运行结果.png