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<stdio.h>
#include<string.h>
#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<stdio.h>
#include<string.h>
int main(void)
{
char date[] = __DATE__;
printf("%s %s\n",date,__TIME__ );
return 0;
}
#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<stdio.h>
#include<string.h>
#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<stdio.h>
#include<string.h>
int main(void)
{
char date[] = __DATE__;
printf("%s %s\n",date,__TIME__ );
return 0;
}