C语言之文件包含

c = 21
#include <stdio.h>
#include "A.h"
int main()
{
    /*************************************************************
     * 预处理指令:
     *   1.C语言在对源程序进行编译之前,会先对一些特殊的预处理指令作解释
     *     (比如之前使用的#include文件包含指令),产生一个新的源程序(这个过程称为编译预处理),
     *     之后再进行通常的编译
     *   2.为了区分预处理指令和一般的C语句,所有预处理指令都以符号"#"开头,并且结尾不用分号
     *   3.预处理指令可以出现在程序的任何位置,它的作用范围是从它出现的位置到文件尾。习惯上
     *     我们尽可能将预处理指令写在源程序开头,这种情况下,它的作用范围就是整个源程序文件
     *   4.C语言提供的预处理指令主要有:宏定义、文件包含、条件编译
     *
     *  文件包含:在编译代码之前,把文件包含命令用被包含文件的内容进行替换。
     *  格式(#include <...>/#include "..."):
     *     1、<>表示包含系统自带的文件,""表示自定义的文件
     *     2、不允许循环包含,比如a.h包含b.h,b.h又包含a.h
     *    通常情况下,程序开发是由多个人进行开发,当自己开发的代码需要用到别人的函数时,
     *    需要在自己编写的代码前引用别人代码的头文件,头文件中包含对代码中各种方法和其
     *    他内容的声明,但是由于某些原因我们会不知不觉的多次引用了同一个头文件,虽然这
     *    样并不影响程序的编译和运行,但是对于编译器还是需要消耗资源。所以我们就在
     *    头文件开头使用下面格式来防止对同一个头文件的多次引用:
     *    #ifndef
     *        #define  头文件名_H(这种格式是为了防止同一个宏被重复定义,影响文件的包含)
     *        各种内容的声
     *    #endif
     *************************************************************/
    int a = 10;
    int b = 11;
    int c = sum(a, b);
    printf("c = %d
", c);

     return 0;
}
int sum(int a, int b)
{
    return a + b;
}
#ifndef A_H
  #define A_H
  int sum(int a, int b);
#endif
原文地址:https://www.cnblogs.com/heml/p/3531496.html