c语言预处理,包含(宏定义,包含,条件编译)

预处理器介绍:就是三个方面,宏定义,文件包含和条件编译


0:预处理是一个小软件,可以在编译器编译程序之前对源程序进行编辑,例如出书之前,编辑线看看你这个书写的通不通顺

1:预处理器可以处理一些预编译指令,这些预处理指令包括:
宏定义:#defince
文件包括 #include,系统的文件的包含是<>,例如<stdio.h>我们自己写的头文件使用”” 例如“hello.h”
条件编译 #if #ifdef #ifndef #elif #else #endif

2:预处理的工作原理
预处理器可以在编译器对c程序进行编译之前,进行重新编译(修改源代码)工作
这个过程包括:
2.1 将使用#define 指令进行的宏定义进行匹配替换
2.2 将使用#include 指令包含的头文件添加到当前文件中
2.3 将预定义指令删除
2.4 删除注视
2.5 可以使用gcc -E Hello.c  查看预编译器的输出结果,例如下面程序输出结果将包含stdio.h到当前文件,并且替换宏定义


#include <stdio.h>
#define SIZE 20
int main(){
	int i[SIZE];
	//Hello World is 11 words;
	printf("Hello World\n");
	return 0;
}


然后执行gcc -E Hello.c
0:include的一些东西,stdio.h文件里面的内容都会显示
1:SIZE 替换成了20
2:主食修改了


int main(){
 int i[20];


 printf("Hello World\n");
 return 0;
}




3:预处理指令有哪些
3.1 宏定义,marcos #define 指令定义了一个宏,#undef 指令删除一个宏,可以理解为系统变量,但是有区别的
3.2 文件包括,#include 指令将包含当前文件到程序中
3.3 条件编译  #if,#ifdef,#ifndef,#elif,#else和#endif,将包含代码块到程序当中,或将代码块排除在程序外。
既然有if else 那么问什么还要条件变异,这个是条件编译,如果不成功,我都不给你翻译的

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值