逍遥自在学C语言 | 常见的预定义宏

54 阅读2分钟

前言

在C语言中,预定义宏是由编译器提供的一组特殊标识符,可以在程序中直接使用,无需进行额外的定义。

预定义宏可以提供有关源文件、行号、日期、时间和函数名等信息,对于调试和日志记录非常有用。

一、人物简介

  • 第一位闪亮登场,有请今后会一直教我们C语言的老师 —— 自在。

  • 第二位上场的是和我们一起学习的小白程序猿 —— 逍遥。

二、功能介绍

以下是本教程中介绍的预定义宏:

  1. FILE:当前源文件的文件名。
  2. LINE:当前源文件中的行号。
  3. DATE:当前日期。
  4. TIME:当前时间。
  5. func:当前函数名。

三、使用场景

预定义宏在以下场景中非常有用:

  1. 调试信息:通过__FILE__和__LINE__宏,您可以在调试过程中打印当前源文件和行号,帮助定位代码问题。
  2. 日志记录:使用__DATE__和__TIME__宏,您可以在日志中记录当前日期和时间,方便追溯日志发生的时刻。
  3. 函数名标识:通过__func__宏,您可以在函数中输出当前函数的名字,有助于代码审查和日志记录。

四、示例代码

  • 下面是一个示例代码,演示了如何使用预定义宏:
#include <stdio.h>

int main() {
    // __FILE__:当前源文件的文件名
    printf("当前源文件名:%s\n", __FILE__);

    // __LINE__:当前源文件中的行号
    printf("当前行号:%d\n", __LINE__);

    // __DATE__:当前日期
    printf("当前日期:%s\n", __DATE__);

    // __TIME__:当前时间
    printf("当前时间:%s\n", __TIME__);

    // __func__:当前函数名
    printf("当前函数名:%s\n", __func__);

    return 0;
}
  • 运行结果
当前源文件名:pre_macro.c
当前行号:8
当前日期:Jun 30 2023
当前时间:15:04:09
当前函数名:main

小结

通过这篇文章,我们学会了

1、常见的几个预定义宏的用法和使用场景

📢欢迎各位 👍点赞 ⭐收藏 📝评论,如有错误请留言指正,非常感谢!