第8章 函数(二)工程的诞生
声明:文中观点仅代表个人,其中文字、图片未经本人许可,不得部分或全部转载,违者所造成影响后后果自负!联系本人方式:80368704@qq.com QQ:80368704
在上一节中,我们将3个程序文件file1.c、file2.c、file3.c合并成了file4.c(即程序4),程序4中有4个函数:1个主函数,3个子函数。 合并过程简单描述就是: 1、file1.c、file2.c、file3.c拷贝到一个文件file4.c中 2、把从file1.c拷入的main改成max 3、把从file2.c拷入的main改成min 4、把从file3.c拷入的main改成average 5、在file4.c中再新写一个main()函数,调用上面的3个函数 我们看到,4个函数是在一个文件file4.c中的。 其实,说白了, 3合1的目的,就是希望只运行1次,就能实现以前运行3个程序完成的任务:求最大值、最小值和平均值,那么这里,有一个更简便的办法实现程序的3合1,标准C允许我们的一个程序有多个文件, 于是,现在,我们要将(程序1,程序2和程序3)这3个程序重新合并,生成一个全新的程序(程序8),合并过程有4步描述如下: 1、把从file1.c的main改成max,为不破坏file1.c,另存为file8_1.c吧 2、把从file2.c的main改成min,同理另存为file8_2.c 3、把从file3.c的main改成average,同理另存为file8_3.c 4、新建文件file8_4.c,其中再新写一个main()函数,调用上面的3个函数 我们看到,4个函数是分别在4个文件中的。 我们称它为程序8吧,如下所示: 程序8: #include〈stdio.h〉 #include〈stdio.h〉 #include〈stdio.h〉 void max(); ================================================================ 关于程序8的生成过程的进一步说明======================================================================================== 在file8_4.c中,在main()之前有3行说明void max(); void min(); void average(); 表示main()即将调用的函数max()、min()、average() 你看出来了吗?这3句和程序中的3个子函数有关系,其实就是3个子函数的函数首部,加了一个分号(;)。你一定要记住在程序中,用函数首部说明一个函数是非常重要的,是必须的,千万不要省略它们;这种做法,在术语上叫函数原型声明。只要有了上面的3个函数说明,就允许这些被调函数和主函数不在一个文件中了,当然和main()在一个文件中也是可以的.通常被调函数的原型声明应放在主调函数所在文件的开头。 ======================================================================================== 我们看到,这样的合并其实是更简单些,而且,我们也只需要运行一次就可以求3个值了。 聪明的你可能在疑惑,以前我们写程序时,都是把程序代码输入电脑,而后编译连接运行,成功后,保存成一个文件;但现在的程序8却是由4个文件组成的。 因此C程序分4级:工程----文件-----函数------复合语句块。
|
作者:
RDIF
出处:
http://www.cnblogs.com/huyong/
Email:
406590790@qq.com
QQ:
406590790
微信:
13005007127(同手机号)
框架官网:
http://www.guosisoft.com/
http://www.rdiframework.net/
框架其他博客:
http://blog.csdn.net/chinahuyong
http://www.cnblogs.com/huyong
国思RDIF开发框架
,
给用户和开发者最佳的.Net框架平台方案,为企业快速构建跨平台、企业级的应用提供强大支持。
关于作者:系统架构师、信息系统项目管理师、DBA。专注于微软平台项目架构、管理和企业解决方案,多年项目开发与管理经验,曾多次组织并开发多个大型项目,在面向对象、面向服务以及数据库领域有一定的造诣。现主要从事基于
RDIF
框架的技术开发、咨询工作,主要服务于金融、医疗卫生、铁路、电信、物流、物联网、制造、零售等行业。
如有问题或建议,请多多赐教!
本文版权归作者和CNBLOGS博客共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过微信、邮箱、QQ等联系我,非常感谢。