C语言基础09--C预处理器和C库

Catalogue
  1. 1. C语言基础09–C预处理器和C库
    1. 1.0.1. 预处理器
    2. 1.0.2. 头文件

C语言基础09–C预处理器和C库

预处理器

预处理器是#号开头的,比如宏:#define

宏的基本用法

1
2
3
4
5
6
#include<stdio.h>
#define Five 5
int main(){
printf("%d",Five);//在编译过程中,Five会被直接替换成5
return 0;
}

带参数的宏

1
2
3
4
5
6
#include<stdio.h>
#define Five(X) X*X
int main(){
printf("%d",Five(5));//在编译过程中,替换成一段表达式
return 0;
}
1
2
3
4
5
6
#include<stdio.h>
#define Five(X) printf("This is %d",X)
int main(){
Five(5);//在编译过程中,替换成一段表达式,打印字符串出来
return 0;
}

条件的预处理器//#indef #else #endif

1
2
3
4
5
6
7
8
9
10
11
12
13
14
//#indef #else #endif
#include<stdio.h>
#define Five 5
#undef Five

int main() {
//通过define来判断执行什么语句
#ifdef Five
printf("yes");
#else
printf("no");
#endif
return 0;
}

条件的预处理器 #if #elif #endif

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<stdio.h>
#define Five 4
//#undef Five

int main() {
#if Five ==5
printf("yes");
#elif Five ==4
printf("no");
#endif


return 0;
}

可以用于不同版本系统的编译

头文件

代码开头的#include<stdio.h>是将该库中的所有代码复制进代码中,可以直接调用