预处理符号:FILE 、LINE、DATE、TIME.
int main()
{
printf("file = %s\n", __FILE__);//__FILE__ 进行编译的源文件
printf("line = %d\n", __LINE__);//__LINE__ 文件当前的行号
printf("date = %s\n", __DATE__);//__DATE__ 文件被编译的日期
printf("time = %s\n", __TIME__);//__TIME__ 文件被编译的时间
system("pause");
return 0;
}
#define 定义宏
● 所有元素都必须用括号括起来,以避免错误
#define ADD(A, B) ((A) + (B))
● #的作用
#define ADD(A, B) printf(#A " + " #B " = %d\n", A + B)
int main()
{
ADD(10, 20);//-->10 + 20 = 30
return 0;
}
● ##的作用
##可以把位于它两边的符号合成一个符号。 它允许宏定义从分离的文本片段创建标识符
#define ADD_TO_SUM(num, value)
sum##num += value;
...
ADD_TO_SUM(5, 10);//作用是:给sum5增加10.
● 避免头文件重复引入
//第一种解决方法
#ifndef __TEST_H__
#define __TEST_H__
//头文件的内容
#endif //__TEST_H__
//第二种解决方法
#pragma once