• C语言第十一讲,预处理命令.


                C语言第十一讲,预处理命令.

    一丶预处理简介

    什么是预处理,预处理就是预先处理. 我们知道,程序会经过编译,连接形成可执行文件

    这些在编译之前对源文件进行简单加工的过程,就称为预处理(即预先处理、提前处理)。

    预处理主要是处理以#开头的命令,例如#include <stdio.h>等。预处理命令要放在所有函数之外,而且一般都放在源文件的前面。

    二丶预处理命令

    1.#include<> or #include""

    #include命令是包含命令.<> 代表包含的是系统头文件. " " 表示包含的是自己定义的头文件

    包含的意思就是 复制粘贴一份.但是我们可以放到一个文件中去保存.不影响代码可读性.

    例如:

    我们有一个A.h文件.其内容为下.

    struct A 
    {
       int a;
       int b;
       int c;  
    }

    我们有一个.c文件.

    #include"A.h"
    
    int main()
    {
       struct A a;
       a.a = 1;  
    }

    可以看出我们直接包含了结构体struct A,我们就可以直接定义结构体变量进行使用了.

    其本质则是.

    struct A
    {
       int a;
       int b;
       int c;
    }
    
    int main()
    {
      struct A a;
      a.a = 1;
    }

    三丶C语言的宏定义命令

    #define语句的使用

    #define语句就是替换的意思.在编译之前.我们将某个值定义为某个值.

    #include <stdio.h>
    
    #define NUMBER 100
    
    int main()
    {
    int sum = 1000 + NUMBER; printf("%d ", sum); return 0; }

    使用完#define命令之后, NUMBER代表的就是100.

    四丶C语言的带参宏

    在C语言中,C宏可以是有参数的.

    定义语句如下:

    #define 宏名(形参列表) 字符串

    例如:

      

    #define MAX(A,b)  (((A) > (b))?((A): (b)));
    
    int main()
    {
       int a = MAX(3,4);
       printf("%d",a);
    }
    输出结果:
        4

    我们只需要宏展开即可, A代表3,b代表4.

    五丶条件宏的定义

    指令         用途
        #           空指令,无任何效果
        #include    包含一个源代码文件
        #define     定义宏
        #undef      取消已定义的宏
        #if         如果给定条件为真,则编译下面代码
        #ifdef      如果宏已经定义,则编译下面代码
        #ifndef     如果宏没有定义,则编译下面代码
        #elif       如果前面的#if给定条件不为真,当前条件为真,则编译下面代码,其实就是else if的简写
        #endif      结束一个#if……#else条件编译块
        #error      停止编译并显示错误信息 

    条件宏就是有条件的.比如 ifdef 

    #define DBG
    #ifdef DBG   如果定义了宏DBG
        #include<xxx.h>
    #undef DBG  取消定义DBG宏.则下方在使用ifdef判断是否定义的DBG宏则会是没有定义.
  • 相关阅读:
    java从基础知识(九)I/O
    c++学习笔记(2)类的声名与实现的分离及内联函数
    转:给C++初学者的50个忠告
    c++学习(1)
    vim下缩进及高亮设置
    转载:c++ sort用法
    菜鸟成长记1,软件工程大一经历
    linux下挂载另一系统硬盘。
    OpenCV VideoCapture.get()参数详解
    opencv+python 添加文字 cv2.putText
  • 原文地址:https://www.cnblogs.com/iBinary/p/9143901.html
Copyright © 2020-2023  润新知