C语言头文件的使用.doc

C语言头文件的使用.doc

ID:62033336

大小:55.50 KB

页数:10页

时间:2021-04-15

C语言头文件的使用.doc_第1页
C语言头文件的使用.doc_第2页
C语言头文件的使用.doc_第3页
C语言头文件的使用.doc_第4页
C语言头文件的使用.doc_第5页
资源描述:

《C语言头文件的使用.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C语言头文件的使用                                                                  ——by janders                                                                     转载请注名作者和出处,谢谢!转自http://blog。csdn.net/janders/Gallery/179942.aspxC语言中的.h文件和我认识由来已久,其使用方法虽不十分复杂,但我却是经过了几个月的“不懂”时期,几年的“一知半解”时期才逐渐认

2、识清楚他的本来面目。揪其原因,我的驽钝和好学而不求甚解固然是原因之一,但另外还有其他原因。原因一:对于较小的项目,其作用不易被充分开发,换句话说就是即使不知道他的详细使用方法,项目照样进行,程序在计算机上照样跑.原因二:现在的各种C语言书籍都是只对C语言的语法进行详细的不能再详细的说明,但对于整个程序的文件组织构架却只字不提,找了好几本比较著名的C语言著作,却没有一个把.h文件的用法写的比较透彻的。下面我就斗胆提笔,来按照我对.h的认识思路,向大家介绍一下。 让我们的思绪乘着时间机器回到大学一年级.C原来老师正在讲台上讲着我们的第一个C语言程序:Hellowo

3、rld!文件名First.cmain(){printf(“Helloworld!”);}  例程-1看看上面的程序,没有。h文件.是的,就是没有,世界上的万物都是经历从没有到有的过程的,我们对.h的认识,我想也需要从这个步骤开始.这时确实不需要.h文件,因为这个程序太简单了,根本就不需要.那么如何才能需要呢?让我们把这个程序变得稍微复杂些,请看下面这个,文件名First。c printStr(){ﻩprintf(“Helloworld!");}main(){printStr()}  例程—2 还是没有,那就让我们把这个程序再稍微改动一下. 文件名First.c

4、main(){printStr()}  printStr(){ ﻩprintf(“Helloworld!”);}  例程-3 等等,不就是改变了个顺序嘛, 但结果确是十分不同的.让我们编译一下例程—2和例程-3,你会发现例程-3是编译不过的.这时需要我们来认识一下另一个C语言中的概念:作用域.我们在这里只讲述与。h文件相关的顶层作用域, 顶层作用域就是从声明点延伸到源程序文本结束,就printStr()这个函数来说,他没有单独的声明,只有定义,那么就从他定义的行开始,到first.c文件结束,也就是说,在在例程—2的main()函数的引用点上,已经是他的作用域

5、。例程-3的main()函数的引用点上,还不是他的作用域,所以会编译出错. 这种情况怎么办呢?有两种方法,一个就是让我们回到例程—2,顺序对我们来说没什么,谁先谁后不一样呢,只要能编译通过,程序能运行, 就让main()文件总是放到最后吧。那就让我们来看另一个例程,让我们看看这个方法是不是在任何时候都会起作用.文件名First.cplay2(){ play1()}play1(){play2()  }main(){play1()}例程-4 也许大部分都会看出来了,这就是经常用到的一种算法,函数嵌套,那么让我们看看, play1和play2这两个函数哪个放到前面呢

6、? 这时就需要我们来使用第二种方法,使用声明。文件名 First。cplay1();play2();play2(){ play1()}play1(){ play2());}main(){play1()}例程-4 经历了我的半天的唠叨, 加上四个例程的说明,我们终于开始了用量变引起的质变, 这篇文章的主题。h文件快要出现了.一个大型的软件项目,可能有几千个,上万个play,而不只是play1,play2这么简单,这样就可能有N个类似play1(); play2();这样的声明,这个时候就需要我们想办法把这样的play1();play2();也另行管理,而不是把他

7、放在.c文件中,于是.h文件出现了。 文件名First.hplay1();play2();文件名First.C#include“first。h”play2(){ play1()}play1(){ﻩplay2()}main(){play1()}例程-4 各位有可能会说,这位janders大虾也太罗嗦了,上面这些我也知道,你还讲了这么半天,请原谅,如果说上面的内容80%的人都知道的话,那么我保证,下面的内容,80%的人都不完全知道.而且这也是我讲述一件事的一贯作风,我总是想把一个东西说明白,让那些刚刚接触C的人也一样明白。上面是.h文件的最基本的功能,那么.h文件

8、还有什么别的功能呢? 让我来描述一下我

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。