程序员社区

宏定义

1.无参数的宏定义
在这里插入图片描述

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
//宏 常量
//1.不重视作用域
//2.可以用undef卸载宏
//3.宏常量 没有数据类型
void test()
{
#define MAX 100
}
int main()
{
	test();
	int a = MAX;
	printf("%d", a);
	return 0;
}

在这里插入图片描述

说明:
在这里插入图片描述

2.带参数的宏定义(宏函数)
在这里插入图片描述

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
//宏 函数
//1.将短小,频繁使用的函数写成宏函数
//2.加括号保证运算完整性
//3.优点:空间换时间
#define SUM(x,y) x+y
void test()
{
	int ret = SUM(10, 20);
	printf("%d", ret);
}
int main()
{
	test();
	return 0;
}

在这里插入图片描述
建议写法:

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
//宏 函数
//1.将短小,频繁使用的函数写成宏函数
//2.加括号保证运算完整性
//3.优点:空间换时间
#define SUM(x,y) ((x)+(y))
void test()
{
	int ret = SUM(10, 20);
	printf("%d", ret);
}
int main()
{
	test();
	return 0;
}

在这里插入图片描述

注意:
在这里插入图片描述

一些特殊的预定宏

在这里插入图片描述

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
void test()
{
	printf("%s\n", __FILE__);
	printf("%d\n", __LINE__);
	printf("%s\n", __DATE__);
	printf("%s\n", __TIME__);
}
int main()
{
	test();
	return 0;
}

在这里插入图片描述

赞(0) 打赏
未经允许不得转载:IDEA激活码 » 宏定义

相关推荐

  • 暂无文章

一个分享Java & Python知识的社区