C——编译预处理

C语言提供的预处理(在编译之前进行)主要有三种:宏定义,文件包含和条件编译
预处理命令不是C语句,不用加分号

1、宏定义

  • 形式:

    1. #define 宏名 替换文本
    2. #define 宏名(参数) 替换文本
    #define N 5
    
  • 在C语言程序中,符号常量的定义要使用宏定义预处理命令

  • 宏名习惯用大写字母,但是也可以用小写

  • 宏定义不是C语句,行尾不必加分号

  • 宏定义使用原则,为先替换再计算`

    #define K 2+3
    k/k = 2+3/2+3 = 6
    
    #define ADD 10+5
    3*ADD/5 = 3*10+5/5 = 31
    
    #define f(x) x*x
    int a=6,b=2;
    f(a+b) = a+b*a+b = 20
    

2、文件包含

所谓“文件包含”就是指一个源文件可以将另一个源文件的全部内容包含进来,即将另外的文件包含到本文件中。C语言提供了#include命令用来实现文件包含

  • 形式:
    1. 系统目录: #include <文件名>
    2. 系统目录+用户目录: #include “文件名”
  • 常见的头文件
    1. 标准输入输出的头文件:#include <stdio.h>
    2. 数学函数的头文件:#include <math.h>
    3. 字符串函数的头文件:#include <string.h>

3、条件编译

  • 条件编译命令有三种基本形式:
1#ifdef 标识符
程序段1
#else
程序段2
#endif

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

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

猜你喜欢

转载自blog.csdn.net/qq_45042462/article/details/125892303
今日推荐