include
<font color="red"> #include<>和#include "" </font>的区别
<> 直接按照系统指定的目录检索头文件
"" 先在当前.c文件所在目录查找,如果找不到在按照系统指定的目录检索头文件
#include<>通常用于包含库函数的头文件
#include "" 通常用于包含自定义的头文件
宏定义
#define PI 3.14
int r = 4;
printf("area = %f\n", PI * r *r);
// 预处理的时候上面的代码变为 printf("area = %f\n", 3.14 * r *r);
#define TEST(A,B) A*B
#define TEST2(A,B) (A) * (B)
int a = TEST(2,4);
// int a = 2 * 4;
printf("a = %d\n", a); //a = 8
int b = TEST(1+1, 2);
// int b = 1+1*2;
printf("b = %d\n", b); //b = 3
int c = TEST2(1+1, 2);
printf("c = %d\n", c); //c = 4
#define MAX(a,b) (a) > (b) ? (a) : (b)
#define MAX2(a,b,c) (a) > (MAX(b,c)) ? (a) :(MAX(b,c))
printf("max(1, 2) = %d\n", MAX(1,2)); //max(1, 2) = 2
printf("max2(1, 2, 3) = %d\n", MAX2(1,2,3)); //max2(1, 2, 3) = 3
条件编译
#define D1
#define TEST3 1
#ifdef D1
printf("d1 define..\n");
#else
printf("d1 not define..\n");
#endif
#ifndef D1
printf("d1 not define..\n");
#else
printf("d1 define..\n");
#endif
#if TEST3
printf("TEST3 is true..\n");
#elif
printf("TEST3 is false..\n");
#endif
防止头文件重复包含
#ifndef TEST_H
#define TEST_H
// .h头文件中的函数声明
#endif
日志打印
//__FILE__是文件名称 __LINE__是当前行
printf("file = %s line = %d\n", __FILE__, __LINE__);
网友评论