c语言 预处理

编程:
人类语言 --->编程语言(C语言)---汇编语言--->机器语言(01010)
 

编译过程: 

预处理   编译 汇编 链接

一、宏定义

 #define 标识符 字符串
 #define 宏名  宏值
 #define N  100
 表示,定义了一个宏 (符号),而这个符号 代表的值 就是100 


 
 #define 宏名(参数)  宏值

说明

1. 预处理阶段,只做文本原样替换


  2. 宏 就是用 宏值 将 宏名 原样替换 
  3. 用途 
     当作常量来用
     好处,可以做到 一改全改,方便操作 
  4. 宏名 
     符合标识符命名规则
     宏名,一般都是大写 --- 主要是为了和普通变量名区分 
  5. 程序中 处于 ""中的 宏名 不会被替换 
  6. 宏名 不要和关键字重名
  7. 宏替换过程中,存在宏的副作用 ---- 文本的原样替换 
     处理:
         能加括号的尽量都加括号


 

8. 宏定义 只能放在一行 

9.宏定义的作用范围

二、文件包含

#include "文件名"

  //首先在当前路径下寻找要包含的文件,找不到再到系统默认路径下寻找

#include <文件名>  

//默认到系统指定路径下寻找头文件

作用:


   将文件名代表的文件中的内容 ,替换到当前文件 

三、条件编译

条件编译: //也是文本替换 --- 符合条件的文本 

(一)形式一

     test.i文件

增加宏定义

 增加宏定义后的test.i文件

(二)形式二

#ifdef 标识符
    程序段1
#endif 


(三)形式三

#ifndef 标识符
    程序段1
#else
    程序段2
#endif

(四)形式四

#if    表达式
    程序段1
#else
    程序段2
#endif

//常用于注释代码

四、多文件编程

main.c
  |--add.c  //自己的点c通常会包含自己的点h 
  |--add.h  //一部分是 对外的函数声明 一部分时自己的点c需要用到的头文件等内容 
  |--sub.c
  |--sub.h

 

  对于重复包含的头文件    //避免重复定义

如果不用预处理命令进行操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值