预定义符号

  预处理符号是C标准规定的宏定义符号,总共有五个。

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

应用场景

  在文件输入输出以及输出日志等场合下我们会用到这些预处理符号,比如

#include <stdio.h>
#include <stdlib.h>#define LOG printf("%d %d %d %d\n",\__FILE__,__LINE__,__DATE__,__TIME__)
int main() {int i = 0;for(i = 0; i < 5; i++) {LOG;}return 0;
}

运行结果:

\+回车 : 续行符,转义字符,后面不能加任何除回车之外的字符,否则会报错。

4. C语言预定义符号相关推荐

  1. C语言 —— 预定义符号__FILE____LINE___func__(编写调试函数printf , debug)

    C的预定义符号: __FILE__ __LINE__ __func__ 测试代码:在文件 line.c 中 1 #include <stdio.h>2 int main()3 {4 pri ...

  2. C语言预定义宏的使用

    ANSIC标准定义的6种C语言预定义宏 LINE_:表示当前源代码的行号: FILE:表示当前源文件的名称: DATE:表示当前的编译日期: TIME:表示当前的编译时间: STDC:当要求程序严格遵 ...

  3. C语言预定义宏 __func__、__FUNCTION__、__LINE__、__FILE__、__DATE__、__TIME__

    文章目录 20211231 打印示例 今天看RXW源码的时候,看到了在函数里使用 __func__ 参数的样例,遂查一下这两玩意的使用方法 这玩意叫做预定义宏 标准C语言预处理要求定义某些对象宏,每个 ...

  4. C语言预定义的标识符的作用,C语言标识符的分类

    C语言标识符的分类 标识符不能与程序中具有特殊意义的关键字相同,不能与用户编制的函数名.C语言库函数相同,在程序中各种标识符尽量不要重复,以便区分.C语言标识符的分类有哪些呢,一起来了解一下! 1.关 ...

  5. C语言—预定义宏调试__LINE__、__func__

    前言:最近在阅读程序源码中出现了__LINE__和__func__字样,做下笔记.针对以下调试信息语句: task_mg_printf("no next task err!!, fun = ...

  6. C语言中的标识符有:关键字、预定义标识符、用户标识符

    1.关键字:不可以作为用户标识符号.main define scanf printf 都不是关键字.迷惑你的地方If是可以做为用户标识符.因为If中的第一个字母大写了,所以不是关键字. 2.预定义标识 ...

  7. php不是预定义超全局变量,五、PHP知识核心 预定义变量(超全局变量/数组)

    主要有:$_GET, $_POST, $_REQUEST, $_SERVER, $GLOBALS 均是数组 系统定义与维护 具有超全局作用域 不同情形下可能具有不同的值 $_GET:get请求(发送数 ...

  8. 通过一段简单的代码,介绍 ABAP 的预定义类型 c

    下面这段代码,稍稍有些编程基础的朋友想必都能够理解: 定义了两个 ABAP 变量,名称分别为 lv_c1 和 lv_c2, 类型为 c,c 是 ABAP 的预定义数据类型(predefined dat ...

  9. ANSI C and Microsoft C++中常用的预定义宏以及 宏定义中 # 和 ## 的区别

    ANSI C and Microsoft C++中常用的预定义宏以及 宏定义中 # 和 ## 的区别 第一部分,常见的预定义宏 第二部分,# 和 ## 再宏定义中的使用说明 第三部分,类似 #prag ...

  10. linux系统预定义变量有哪些,Shell预定义变量用法详解

    预定义变量是在 Shell 一开始时就定义的变量,这一点和默认环境变量有些类似.不同的是,预定义变量不能重新定义,用户只能根据 Shell 的定义来使用这些变量. 严格来说,位置参数变量也是预定义变量 ...

最新文章

  1. Kaldi aishell 200h小时训练问题集合
  2. 让你不再害怕指针(一)
  3. procexp.exe中文版---Process Explorer 进程监视V11.21中文版
  4. 怎么看python程序卡在哪里_Python程序卡住了
  5. 【大话Hibernate】Hibernate两种实体关系映射详解
  6. mysql自连接分组查询最新_MySQL 自连接分组取每组最大N条记录
  7. php300云,概述 · PHP300Framework2.0 · 看云
  8. Android HAL 层,三个重要的结构体的源码~
  9. my-medium.cnf_您的手机如何打开medium.com-我将让门卫和图书管理员解释。
  10. hive能替代oracle_Hive与Oracle表关联语句对比
  11. 软工大二下半年第十四周学习进度
  12. 2008总有一种恐惧让你泪流满面
  13. linux一个进程打印10次,如何发现linux中引起高io等待的进程
  14. word创建Pdf时嵌入字体 Creating a PDF with Embedded Fonts for MS Word
  15. 【深入理解计算机系统csapp】 attack lab实验四
  16. 兜兜转转躲不命运轮回---Java基础学习笔记1
  17. MATLAB2014b画极坐标散点图
  18. USB 虚拟串口简介
  19. clip-path 绘制五角星
  20. 将本地的word文档转为markdown(带图片)发布到CSDN

热门文章

  1. Java顺序结构综合练习三之金融投资收益计算
  2. 英文投稿的一点经验【转载】
  3. 沁恒CH348 USB转8串口芯片
  4. UEFI规范实现EDKII项目学习笔记绪论[0]
  5. MSP430FR5994LannchPad开发笔记之三:MSP430的IO复用以及如何去获取IO复用功能
  6. matlab 直方图(柱状图) 及 CDF曲线
  7. java解四元一次方程
  8. ECCV 2022 | 石溪大学联合小鹏汽车提出先验知识指导的无监督领域自适应
  9. Thinkpad T470 内置电池问题
  10. HDMI转SDI转换器信号损失方法