编译预处理

预处理指令

include 引用各种函数库

define 定义常用的宏

条件编译

根据表达式的结果来决定要编译的内容

if

else

elif

endif

// 根据变量或宏等是否定义来决定要编译的内容

ifdef

ifndef

#include

// 1)两种形式:
#include <stdio.h>  // 到配置目录中找
#include "stdio.h"  // 从当前目录开始找,无则到配置目录中找

// 2)文件包含允许嵌套
// 文件A包含了文件B,文件B又包含了文件C,最终文件B和C都会被引入A文件

#define

宏定义,用一个标示符来表示一个字符串,这个字符串可以使常量、变量或表达式。在宏调用中,将用该字符串替换宏名。 ```cpp #include // 1) 无参数宏 #define PI 3.14 #define M (a+b+c)/2.0 int main() {   int a = 1, b = 2, c = 3;   printf("面积为%f", PI*2*2);   printf("%f", M); } ``` ```cpp // 2)带参数宏 #define f(x) x*x+3*x #define Sum(a,b,c) a=b*c;b=c*a;a=b*c printf("%d", 3*f(2)); ``` PS:非值传递,而是传递形参字符

条件编译

if (常量表达式) =====> 注意常量,非变量

仅当表达式为真,则编译它与 #endif 之间的代码

#include<stdio.h>

#define debug = 0
#define beta = 1
#define status = 1
int main()
{
#if (status == debug)
    printf("程序调试中\n");
#elif (status == beta)
    printf("程序测试中\n");
#else
    printf("欢迎使用正式版!\n");
#endif
}

ifdef 如果有定义 (if define)

ifndef 如果没定义 (if not define)

#ifndef PI
    define PI 3.14
#endif

ifdef 和 #ifndef 主要是用来避免重定义

c语言入门教程 第7讲 数组

额外内容: 使用CL.exe编译c程序

results matching ""

    No results matching ""