发布日期:2015-12-31 09:47 来源: 标签: 编程语言 C教程 C语言 C语言多文件编程
本章我们主要学习C语言多文件编程,下面我们就做一下具体讲解,希望大家多多支持中国站长网络学院。
说明:本文编程工具为devc++,vc6.0也类似。不过vc.6.0会强迫你建工程,不太方便。
先写一个简单的程序
在DEV-C++下编辑下面的程序:
    #include<stdio.h>  
    #include<stdlib.h>  
    void func1();     //函数声明  
    void func2();     //函数声明  
    void func3();     //函数声明  
    int main()  
    {  
        printf("hello world!\n");  
        func1();  
        func2();  
        func3();   
        system("pause");  
        return 0;  
    }   
    //函数实现  
    void func1()   
    {  
         printf("我是函数1\n");  
     }  
    void func2()  
    {  
         printf("我是函数2\n");   
     }   
    void func3()  
    {  
         printf("我是函数3\n");   
         } 
运行结果如下:

这个程序所有的函数实现都在同一文件中,代码量很少,所以你能够看懂。假如代码量很多时,你会发现这样的程序调试很费力。为了体现C语言模块化的编程思想,我们可以将上面3个函数func1,func2和func3的实现单独放在一个文件中。
初级方案:3个函数的声明和实现放到一个文件中,再在main函数中调用。
在DEV-C++中编辑一个.h文件(这里命名为myfile.h)并保存。
//myfile.h  
void func1()  
{  
     printf("我是函数1\n");  
 }  
void func2()  
{  
     printf("我是函数2\n");   
 }   
void func3()  
{  
     printf("我是函数3\n");   
     }
再编辑我们的main.c文件。(注意main.c文件要和我们的myfile.h文件放在同一目录下)
    //main.c   
    #include<stdio.h>  
    #include<stdlib.h>  
    #include"myfile.h" //注意,这里包含了我们自己写的头文件   
    int main()  
    {  
        printf("hello world!\n");  
        func1();  
        func2();  
        func3();   
        system("pause");  
        return 0;  
    }   
点击编译运行,结果如下

运行结果和上面一样,实际上#icnlude机制很简单,就是把#include所包含的文件中的内容直接复制到#include所在的位置并替换#include语句,所以上面的程序和下面的程序是等价的。
    //main.c   
    #include<stdio.h>  
    #include<stdlib.h>  
    //函数实现   
    void func1()  
    {  
         printf("我是函数1\n");  
     }  
    void func2()  
    {  
         printf("我是函数2\n");   
     }   
    void func3()  
    {  
         printf("我是函数3\n");   
         }   
    int main()  
    {  
        printf("hello world!\n");  
        func1();  
        func2();  
        func3();   
        system("pause");  
        return 0;  
    }   
不过模块化得编程提倡在.h文件中只包含一些声明,而我们却在myfile.h中放进了3个函数的实现。一般提倡把函数的实现放到另一个.c或.cpp文件中。
所以我们可以修改如下(把原来的两个文件变成3个文件):
修改版:
mian.c文件:放main函数
myfile.h:3个函数的声明
myfile.c:3个函数的实现
在dev-c++下建一个工程:(一定要建工程)

建好工程后,我们可以看到,系统已经为我们在mian.c文件中编辑好了部分代码,同时工程1目录下也只有一个mian.c文件

这时我们再新建myfile.h文件

在弹出来的对话框中选择Yes

接下来重命名

在弹出的对话框中,输入myfile.h

接下来在myfile.h中输入3个函数的声明:


接下来按照上面的方法新建myfile.c文件
注意重命名时输入myfile.c,并在myfile.c中输入3个函数的实现

最后修改mian.c文件中的代码

最后点击编译运行,结果如下:

这样一个简单的多文件工程就产生了。代码量很少的时候不需要这么做,这里仅仅是为了演示,其实多文件编程还涉及到作用域、命名空间、程序的编译过程。这里只是一个初级版本。

相关评论

专题信息
    C语言是一种计算机程序设计语言。它既有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。C语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它解释型高级语言,有一些大型应用软件也是用C语言编写的。 C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画。它是数值计算的高级语言。C语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。