📜  C语言中的宏

📅  最后修改于: 2020-10-22 08:34:25             🧑  作者: Mango

C宏

宏是一段代码,由宏的值代替。宏由#define指令定义。宏有两种类型:

  • 类对象宏
  • 类函数宏

类对象宏

类似于对象的宏是被值替换的标识符。它广泛用于表示数字常数。例如:

#define PI 3.14

在这里,PI是宏名称,它将被值3.14代替。

类函数宏

类似函数的宏看起来像函数调用。例如:

#define MIN(a,b) ((a)<(b)?(a):(b))  

在这里,MIN是宏名称。

访问#define,以查看类对象宏和类函数宏的完整示例。

C预定义宏

ANSI C定义了许多可在c程序中使用的预定义宏。

No. Macro Description
1 _DATE_ represents current date in “MMM DD YYYY” format.
2 _TIME_ represents current time in “HH:MM:SS” format.
3 _FILE_ represents current file name.
4 _LINE_ represents current line number.
5 _STDC_ It is defined as 1 when compiler complies with the ANSI standard.

C预定义宏示例

文件:simple.c

#include
 int main(){  
   printf("File :%s\n", __FILE__ );  
   printf("Date :%s\n", __DATE__ );  
   printf("Time :%s\n", __TIME__ );  
   printf("Line :%d\n", __LINE__ );  
   printf("STDC :%d\n", __STDC__ );    
   return 0;
 }  

输出:

File :simple.c
Date :Dec 6 2015
Time :12:28:46
Line :6
STDC :1