C语言--预处理详解---#define的用法及注意事项

🍎 预定义符号

形如:

__FILE__      //进行编译的源文件
__LINE__     //文件当前的行号
__DATE__    //文件被编译的日期
__TIME__    //文件被编译的时间
__STDC__    //如果编译器遵循ANSI C,其值为1,否则未定义

这些都叫做C语言中的预定义符号,它们各自代表着含义。下面我们来打印一下观察它们的内容。

#include <stdio.h>
int main()
{
   
	printf("%s\n", __FILE__);//当前文件的路径
	printf("%d\n", __LINE__);//当前代码的行号
	printf("%s\n", __DATE__);//系统当前日期
	printf("%s\n", __TIME__);//系统当前时间
	printf("%s\n", __FUNCTION__);//当前代码所在函数
	return 0;
}

打印结果:
在这里插入图片描述
那么这些预定义符号有什么用呢?其实我们在以后编写代码的时候,可能遇到的代码很长,而且会出现一些问题,为了保证我们能及时发现问题在哪里,我们可以使用这些预定义符号来在运行时打印出我们的运行日志输出到日志文件里,这样,当代码出现了问题,我们可以根据日志信息来查找出问题的地方。


🍎 #define

#define 是我们的老朋友了,今天让我们对他一探究竟。

🍧 #define定义标识符

//语法:
 #define name stuff

它的意思就是:将stuff这个东西取了个新名字name,以后可以直接使用name来替换stuff。这个stuff可以是一个常量、关键字、一段代码等内容。

举个🌰:

#define MAX 1000
#define reg register          //为 register这个关键字,创建一个简短的名字
#define do_forever for(;;)     //用更形象的符号来替换一种实现

#define CASE break;case        //在写case语句的时候自动把 break写上。

// 如果定义的 stuff过长,可以分成几行写,除了最后一行外,每行的后面都加一个反斜杠(续行符)。
#define DEBUG_PRINT printf("file:%s\tline:%d\t \
                          date:%s\ttime:%s\n" ,\
					 __FILE__,__LINE__ ,       
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值