c语言 预处理

extern 引用外部全局变量


#define SIZE 20
int a[SIZE];  //经常这么用


宏替换
#define Print(My_var) printf(" %d",My_var)
#define max(x,y) x>y?x:y


如果一行放不下可以加 \ 换行继续




字符串作为宏参数


#define STR "cxc"


用宏连接字符串
#define join(a,b) a##b
printf("%d\n", strlen(join("cxc","as")));//输出5


#ifndef block 等价于 #if !define block
#ifdef block 等价于 #if defined block


条件宏举例:
#include
#include


#define A 0
#define B 1
#define C A


#if A == B
#define STR "相等"
#else
#define STR "不相等"
#endif
int main(void)
{
printf("%s\n",STR );
return 0;
}



日期宏


#include
#include


int main(void)
{
char date[] = __DATE__;
printf("%s %s\n",date,__TIME__ );
return 0;
}

你可能感兴趣的:(c)