- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言多文件编程
C语言多文件编程
?? ? ??
现在先写一个简单的程序。学过C语言的你都能看懂。
在DEV-C++下编辑下面的程序:
[cpp] view plaincopyprint?
#includestdio.h ??
#includestdlib.h ??
void?func1();?????//函数声明 ??
void?func2();?????//函数声明 ??
void?func3();?????//函数声明 ??
int?main()??
{??
????printf(hello?world!\n);??
????func1();??
????func2();??
????func3();???
????system(pause);??
????return?0;??
}???
[cpp] view plaincopyprint?
//函数实现 ??
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)并保存。(编辑完一定要保存哦!)
[cpp] view plaincopyprint?
//myfile.h ??
void?func1()??
{??
?????printf(我是函数1\n);??
?}??
void?func2()??
{??
?????printf(我是函数2\n);???
?}???
void?func3()??
{??
?????printf(我是函数3\n);???
?????}???
再编辑我们的main.c文件。(注意main.c文件要和我们的myfile.h文件放在同一目录下)
[cpp] view plaincopyprint?
//main.c? ??
#includestdio.h ??
#includestdlib.h ??
#includemyfile.h?//注意,这里包含了我们自己写的头文件? ??
int?main()??
{??
????printf(hello?world!\n);??
????func1();??
????func2();??
????func3();???
????system(pause);??
????return?0;??
}???
点击编译运行,结果如下:
?? 和上面的结果一样吧!
实际上#icnlude机制很简单,就是把#include所包含的文件中的内容直接复制到#include所在的位置并替换#include语句,所以上面的程序和下面的程序是等价的。
[cpp] view plaincopyprint?
//main.c? ??
#includestdio.h ??
#includestdlib.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;??
}???
怎么样,简单吧!
所以我们可以修改如下(把原来的两个文件变成3个文件):
修改版:
mian.c文件:放main函数
myfile.h:3个函数的声明
myfile.c:3个函数的实现
在dev-c++下建一个工程:(一定要建工程)
建好工程后,我们可以看到,系统已经为我们在mian.c文件中编辑好了部分代码,同时工程1目录下也只有一个mian.c文件
这时我们再新建myfile.h文件
在弹出来的对话框中选择Yes
接下来重命名
在弹出的对话框中,输入my
文档评论(0)