美文网首页
C语言-预处理器

C语言-预处理器

作者: 富贵山庄王动 | 来源:发表于2017-03-14 21:02 被阅读0次

宏替换

可以预定义代码块什么的,还可以传递参数

#include "csapp.h"
#define NAME(A) "hello"#A
#define FOR(i,start,end) for(int i=start;i<=end;i++)
#define MAX(A,B) A+B+9
#if 1
#define P printf
#endif
#define swap(t,x,y) {int t;t=x;x=y;y=t;}
int main()
{
    int a=1;
    int b=2;

    swap(t,a,b);
    P("%d->%d\n",a,b);
    FOR(k,1,2) {
        puts(NAME(TOm));
        P("%d->%d\n",k,MAX(k,k));
    };
}

条件包含

#if 对常量表达式进行求值

#if expr
#define P printf
#endif

只有expr是0时才不包含其中的定义。
#ifndef用来测试某个名字是否已经定义,经常用于头文件,避免多次包含同一头文件

#ifndef OS_CSAPP_H
#define OS_CSAPP_H

#include <stdio.h>
#endif //OS_CSAPP_H

程序块结构

    {
        int t;
        t = a;
        a = b;
        b = t;
    };

其中t对外部不可见

相关文章

  • 初识css预编译之Less

    什么是less less是CSS的预处理器,学过C语言的同学应该对预处理器挺熟悉的把,C语言的编译过程就分为:预处...

  • define看起来很炫酷!C语言基础教程之预处理和宏定义

    C语言预处理器 C语言预处理器不是编译器的组成部分,但是它是编译过程中一个单独的步骤。简言之,C语言预处理器只不过...

  • C语言基础教程之预定义和宏处理

    define看起来很炫酷!C语言基础教程之预处理和宏定义 C语言预处理器 C语言预处理器不是编译器的组成部分,但是...

  • 第三章、程序的

    程序的机器级表示: 程序编码: C语言 ---【预处理器】--->扩展后的C ---【编译器】---> 汇编语言 ...

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

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

  • C预处理器

    C预处理器 C预处理器处理程序的源代码,在编译之前运行,通常以符号#开头,C语言的预处理主要有3个方面的内容(下三...

  • c语言

    mac 下的编译器 clang c语言结构 预处理器指令 函数 变量 语句 & 表达式 注释 c语言的基本类型 整...

  • Effective C++ 读书笔记

    把 C++ 语言理解成四个次语言的联邦:C:区块、语句、预处理器、内置数据类型、数组、指针等等Object-Ori...

  • /Zc:__plusplus的意义

    预 __cplusplus 处理器宏通常用于报告对特定版本的 C++ 标准的支持,默认情况下,Visual Stu...

  • C语言学习笔记

    1. C的预处理器 .h头文件 #include是C语言的预处理指令,C语言编译器在编译前会对源码进行预处理工作。...

网友评论

      本文标题:C语言-预处理器

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