摘 要:在C程序中经常会重复使用某些特定功能. 本文把这些功能用函数来实现,需要该功能的时候,只需调用该函数,通过形参与实参数据之间的传递,达到特定功能.在此过程中不仅不用每次都堆叠一大堆的代码,避免程序冗长、不精练,而且方便文护.38905 毕业论文关键词: 函数调用;实际参数;形式参数;参数传递
Study on Function Calls and Parameters Passing in C language
Abstrac:In C programs are often repeated use of certain specific functions. If these functions use function, need the function, call this function directly, through the form of argument data transfer, to achieve a specific function. In the process not only don't stack each time a lot of code, avoid process long, not refined, but also need to modify the function of time, and as long as the modification and maintenance of this function, convenient maintenance.
Key words:Function call;Actual parameter;Formal parameter;Parameter passing
目 录
摘要 1
引言 2
1.预备知识 3
1.1主调函数和被调函数 3
1.2形式参数和实际参数 4
2.函数参数的传递方式 5
2.1值传递和地址传递 5
2.1.1值传递 5
2.1.2地址传递 7
2.2.引用传递 9
3.值传递和引用传递的差异 10
4.结束语 12
参考文献 13
致谢 14
C语言中函数的调用及参数的传递研究引言
C语言作为一个结构化程序语言,强调程序设计风格,提倡程序设计规范化,所以需要使用函数调用这个功能,把函数当做构件,才能开发出结构层次较为清晰,功能也较为齐全的大型程序. 文献[1]-[8]介绍了函数是C语言中的基本组成部分,换言之函数如同组成C语言的元素,若是将C语言中的源文件比作物质的分子,那组成每个源文件的函数就能比作成元素,源文件便是由这些函数构成.在程序中,每一个不同的函数都相对完成不同的任务,按照一定规则调用这些函数,便能组成解决特定问题的程序.而且在程序中有且仅有一个主函数(main函数).
文献[9]-[15]介绍C语言的结构是符合模块化结构思想的. 就一般而言,一个较大的C程序可以由多个程序模块组成,而且每个模块都有彼此特定的功能,这些功能便是通过函数彼此之间的调用来实现的.在程序中,函数的形式参数和实际参数都属于局部变量.
实际参数在C语言中,其结构形式并不是单一特定的,而是多样化,不但可以充当常量,也可以充当变量、表达式、函数等.但有一点,实际参数无论是哪种形式,但在函数调用时,实际参数都要有一个定值,这样方能传递给形式参数.而且有一点需要注意,便是实际参数和形式参数必须严格保持一致,类型相同或者兼容,以免因为类型不匹配的原因,导致参数在传递的时候失败. 再者就是,实际参数和形式参数之间的传递是单向的,无法逆转的,数据只能是实际参数传递给形式参数,反之则不行.
所以在学习C语言程序设计的过程中,要头脑灵活,善于利用函数之间的关系,这样能够避免在编写程序的过程中,重复使用函数,增大工作量.不过对绝大多数初学者而言,函数调用时参数之间数据传递难以理解掌握,本文就针对这一问题进行深入探讨研究,主要详述C语言中参数传递的方式.
1.预备知识
1.1主调函数和被调函数 计算机是从主函数(main函数)开始执行程序的的,若此过程中,需要调用函数,则主函数是主调函数,而被调用的函数就是被调函数.通常而言,一个C程序是若干个函数组成,其中必有一个主函数且主函数通过调用其他函数,达到不同的效果,来解决程序中需要解决的问题.主调函数和被调函数并非一成不变,而是相对而言的,同样,其他函数之间也能相互调用,能调用函数的是主调函数,被调用的就是被调函数.而且主函数(main函数)只能被系统所调用.