C语言中双下划线__的作用
以单下划线(_)表明是标准库的变量
双下划线(__) 开头表明是编译器的变量
所以 双下划线__只是C语言的一个合法标识符
不一定是变量, 也可以是函数,宏等。
同时双下划线(__)多用于告警提示:
FILE 包含当前程序文件名的字符串
LINE 表示当前行号的整数
DATE 包含当前日期的字符串
STDC 如果编译器遵循ANSI C标准,它就是个非零值
TIME 包含当前时间的字符串
代码示例如下:
#include <stdio.h>
int main()
{
printf("file name is %s\n", __FILE__); //文件名
printf("line is %d\n", __LINE__); //行号
printf("date is %s\n", __DATE__); //日期
printf("time is %d\n", __TIME__); //时间
return 0;
}
输出:
file name is c:\users\qin\desktop\project_c\setjmp\setjmp\__双下划线.cpp
line is 11
date is Sep 29 2020
time is 8250732