1、C语言多文件编程C语言多文件编程 现在先写一个简单的程序。学过C语言的你都能看懂。在DEV-C+下编辑下面的程序:cpp view plaincopyprint?1. #include 2. #include 3. voidfunc1();/函数声明 4. voidfunc2();/函数声明 5. voidfunc3();/函数声明 6. intmain()7. 8. printf(helloworld!n);9. func1();10. func2();11. func3();12. system(pause);13. return0;14. cpp view plaincopyprint?
2、1. /函数实现 2. voidfunc1()3. 4. printf(我是函数1n);5. 6. voidfunc2()7. 8. printf(我是函数2n);9. 10. voidfunc3()11. 12. printf(我是函数3n);13. 这个程序够简单吧!运行结果如下: 这个程序所有的函数实现都在同一文件中,代码量很少,所以你能够看懂。假如代码量很多时,你会发现这样的程序调试很费力。为了体现C语言模块化的编程思想,我们可不可以将上面3个函数func1,func2和func3的实现单独放在一个文件中呢?答案是肯定的。初级方案:3个函数的声明和实现放到一个文件中,再在main函数中
3、调用。在DEV-C+中编辑一个.h文件(这里命名为myfile.h)并保存。(编辑完一定要保存哦!)cpp view plaincopyprint?1. /myfile.h 2. voidfunc1()3. 4. printf(我是函数1n);5. 6. voidfunc2()7. 8. printf(我是函数2n);9. 10. voidfunc3()11. 12. printf(我是函数3n);13. 再编辑我们的main.c文件。(注意main.c文件要和我们的myfile.h文件放在同一目录下) cpp view plaincopyprint?1. /main.c 2. #includ
4、e 3. #include 4. #includemyfile.h/注意,这里包含了我们自己写的头文件 5. intmain()6. 7. printf(helloworld!n);8. func1();9. func2();10. func3();11. system(pause);12. return0;13. 点击编译运行,结果如下: 和上面的结果一样吧!实际上#icnlude机制很简单,就是把#include所包含的文件中的内容直接复制到#include所在的位置并替换#include语句,所以上面的程序和下面的程序是等价的。cpp view plaincopyprint?1. /ma
5、in.c 2. #include 3. #include 4. /函数实现 5. voidfunc1()6. 7. printf(我是函数1n);8. 9. voidfunc2()10. 11. printf(我是函数2n);12. 13. voidfunc3()14. 15. printf(我是函数3n);16. 17. intmain()18. 19. printf(helloworld!n);20. func1();21. func2();22. func3();23. system(pause);24. return0;25. 怎么样,简单吧! 不过模块化得编程提倡在.h文件中只包含一
6、些声明,而我们却在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个函数的声明:cpp view plaincopyprint?1. /这里只有3个函数的声明 2. voidfunc1();3. voidfunc2();4. voidfunc3();接下来安装上面的方法新建myfile.c文件注意重命名时输入myfile.c,并在myfile.c中输入3个函数的实现最后修改mian.c文件中的代码最后点击编译运行,结果如下:简单吧!一个简单的多文件工程就产生了。代码量很少的时候不需要这么做,这里仅仅是为了演示!其实多文件编程还涉及到作用域、命名空间、程序的编译过程。这里只是一个初级版本。学无止境嘛呵呵
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1