ANSI标准C还定义了如下几个宏:
__LINE__ 表示正在编译的文件的行号
__FILE__ 表示正在编译的文件的名字
__DATE__ 表示编译时刻的日期字符串,例如:“25 Dec 2014”
__TIME__ 表示编译时刻的时间字符串,例如:“12:30:55”
__STDC__ 判断该文件是不是定义成标准C程序
如果编译器不是标准的,则可能仅支持以上宏的一部分,或根本不支持。当然编译器也有可能还提供其它预定义的宏名。注意:宏名的书写由标识符与两边各二条下划线构成。
- #运算符
#define SQR(x) printf("The square of x is %d.\n",((x)*(x)) );
SQR(8);
The square of x is 64.
#define SQR(x) printf("The square of "#x" is %d.\n",((x)*(x));
SQR(8);
The square of 8 is 64
- ##预算符
#define XNAME(n) x##n
XNAME(8)
x8
- #pragma pack