美文网首页
8.C语言 预处理指令

8.C语言 预处理指令

作者: 爱吃馒头的二饼 | 来源:发表于2019-07-12 14:10 被阅读0次

所有预处理指令都是以#开头

预处理指令分三种

1> 宏定义:#define 纯粹的文本替换,而不进行运算

不带参数的宏定义
#define kCount 4
#define COUNT 4
带参数的宏定义可以代替简单函数(参数和结果都要用小括号括起来)
#define sum(v1,v2) ((v1)+(v2))

2> 条件编译

#include <stdio.h>
#define A 1
int main()
{
#if(A == 10)
    printf("A是10\n");
#elif(A == 5)
    printf("A是5\n");
#else
    printf("A是其他值\n");
#endif
    printf("条件编译结束了\n");
    return 0;
}

条件编译结束后,要在最后加上#endif否则后面都无法编译到

条件编译后面的条件一般是宏定义而不是变量,因为条件编译和宏变量都是在编译之前做的操作,而变量是运行时才产生的

可参考:http://www.cnblogs.com/mjios/archive/2013/03/20/2971275.html

3> 文件包含 #include

<>表示系统自带的文件 ""表示自定义的文件

#include <stdio.h>
#include "lisi.h"

不允许循环包含,如a.h包含b.h,b.h又包含a.h
为防止重复文件包含影响性能,可以使用条件编译配合宏定义来判断,宏名一般使用文件名

#ifndef LISI_H
#define LISI_H
#include "lisi.h"
#endif

预处理指令在代码翻译成0和1之前执行
预处理的位置是随便写的
预处理指令的作用域:从编写指令的那一行开始,一直到文件结尾
宏名一般用大写或者k开头,变量名一般用小写

相关文章

  • 8.C语言 预处理指令

    所有预处理指令都是以#开头 预处理指令分三种 1> 宏定义:#define 纯粹的文本替换,而不进行运...

  • 8.C语言-预处理

    1.条件编译

  • 1. C语言的编译步骤

    1. C语言的编译步骤 1.1 预处理 带#的语句就是预处理指令, 预处理指令在预处理的时候处理了 头文件展开: ...

  • 第5周:程序结构——5.2 编译预处理和宏

    1.编译预处理指令 # 开头的是编译预处理指令(其他语言也可使用,include 不是 C 语言关键字)。 它们不...

  • include作用

    #include的作用 #include 是C语言的预处理指令之一,所谓预处理指令,就是在编译之前做的处理,预处理...

  • iOS开发 -- C语言基础12(预处理指令)

    iOS开发 -- C语言基础12(预处理指令) 宏定义 预处理指令简介 1.C语言在对源程序进行编译之前,会先对一...

  • #include指令 和 import

    #include 是C语言的预处理指令之一,所谓预处理,就是在编译之前做的处理,预处理指令一般以 # 开头 #in...

  • 我的C语言学习笔记

    第一个C语言程序: 1.#include 是C语言的预处理指令,所谓预处理指令就是在编译之前作得处理,通常以#开头...

  • Objective-C总结----6.预编译指令

    Objective-C编程语言中含有一个预处理器,用于在编译前处理源文件。 预处理器语言预处理器指令宏展开 预处理...

  • iOS - 条件编译

    1.预处理指令 1)C语言在对源程序进行编译之前,会先对一些特殊的预处理指令作解释。预处理过程扫描源代码,对其进行...

网友评论

      本文标题:8.C语言 预处理指令

      本文链接:https://www.haomeiwen.com/subject/hxbekctx.html