- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言文件包含与头文件写法
C语言文件包含与头文件写法C语言文件包含的处理方法:(1)处理时间:(#include)预处理阶段(2)处理方法:在预处理阶段,系统自动对#include命令进行处理。具体做法是:将包含文件的内容复制到包含语句(#include)处,得到新的文件,然后对新的文件进行编译。一般情况下包含文件分为两种:包含.h 文件和包含.c文件包含.c文件的编译和编译多文件程序(包含.h的文件就是如此) 是不同的。(1)包含.c文件[cpp] view plaincopy/*file1:main.c */ #include stdio.h //#include fun.c int main() { int a = 5, b = 19; c = a; sun(a, b); printf(\r\n c = %d\r\n, c); return 0; } /*end of file1*/ [cpp] view plaincopy[cpp] view plaincopy/*file2: fun.c*/ int c = 0; void sun(int a, int b) { printf(\r\n a + b = %d\r\n, a+b); [cpp] view plaincopy c = 0; printf(\r\nc = %d\r\n, c); } /*end of file2*/ 编译时,直接去编译main.c文件,预处理器会先把fun.c文件的内容复制到main.c中,然后在对新的main.c进行编译只需在执行编译命令gccmain.c -o main可以通过以下命令查看预处理的结果:gcc-Emain.c -o main.cpp其实就是将fun.c文件的内容添加到了main函数之前,然后对新的文件进行编译,最终生成可执行程序。(2)编译多文件程序,对每个.c分别编译生成.o,最后链接生成可执行文件,需要注意的是一定要防止变量的重定义。所以在main. c中的main函数前增加extern int c;包含.h的编译[cpp] view plaincopy/*file1:main.c */ #include stdio.h //#include fun.c #include fun.h int main() { int a = 5, b = 19; c = a; sun(a, b); printf(\r\n c = %d\r\n, c); return 0; } /*end of file1*/ [cpp] view plaincopy[cpp] view plaincopy/*file2: fun.c*/ #include fun.h #include stdio.h int c = 0; void sun(int a, int b) { printf(\r\n a + b = %d\r\n, a+b); span style=white-space:pre /spanc = 0; span style=white-space:pre /spanprintf(\r\nc = %d\r\n, c); } /*end of file2*/ [cpp] view plaincopy[cpp] view plaincopy/*file3:fun.h*/ extern int c;/*把c声明为外部可用的*/ void sun(int a, int b);/*sun()函数的声明*/ /*end of file3*/ [cpp] view plaincopyspan style=font-size:24px;总结几下几点:(1)对应的.c文件中写变量、函数的定义(2)对应的.h文件中写变量和函数的声明(3)如果有数据类型的定义和宏定义,请写在头文件.h中(4)头文件中一定加上#ifudef。。。#define。。。#endif防止重包含的语句(5)模块的.c文件中别忘记包含自己的.h文件。/spanspan style=color:#009900;font-size:18px; /span 对文件包含命令说明以下几点:1. 包含命令中的文件名可以用双引号括起来,也可以用尖括号括起来。例如以下写法都是允许的: #includestdio.h #includemath.h但是这两种形式是有区别的:使用尖括号表示在包含文件目录中去查找(包含目录是由用户在设置环境时设置的),而不在源文件目录去查找;使用双引号则表示首先在当前的源文件目录中查找,若未找到才到包含目录中去查找。用户编程时可根据自己文件所在的目录来选择某一种命令
文档评论(0)