a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 66|回复: 0

[C语言] C语言-基础教程-实现问题

[复制链接]
发表于 2012-7-31 21:48:08 | 显示全部楼层 |阅读模式
  在编写C语言的函数时,有几个要点需要我们牢记,因为它们影响到函数的效率和可用性。
) k, c2 Y( \  {' f! G* ^  4.5.1 参数和通用函数
* ^5 c1 ?9 {* A8 H$ h* Z  z: i- ]; J' X  通用函数是指能够被用在各种情况下,或者是可被许多不同程序员使用的函数。我们不应该把通用函数建立在全局变量上(不应该在通用函数中使用全局变量)。函数所需要的所有数据都应该用参数传递(在个别难以这样做的情况下,可以使用静态变量)。使用参数传递,
- x$ n* {) H' ]' e  除了有助于函数能用在多种情况下之外,还能提高函数代码的可读性。不用全局变量,可以使得函数减少因副作用而导致错误的可能性。
5 L& h8 s7 n) N$ K  4.5.2 效率
  j) R  H9 f/ J/ T  函数是C语言的基本构件。对于编写简单程序之外的所有程序来说,函数是必不可少的。
3 E2 X* o( z$ E: V! G$ ^1 u/ W( l  但在一些特定的应用中,应当消除函数,而采用内嵌代码。内嵌代码是指一个函数的语句中不含函数调用语句。仅当执行速度是很关键的场合下,才用内嵌代码而不用函数。
( B" i( ]6 i! }0 B! u8 R) R( n  有两个原因使得内嵌代码的执行速度比函数快。首先,调用需要花费时间;其次,如果有参数需要传递,就要把它们放在堆栈中,这也要用时间。在几乎所有的应用中,执行时间上的这些微小开销是微不足道的。不过当时间开销至关重要时,使用内嵌代码消除函数调用,
+ Q% Y) Q# z6 S  可以把每次函数调用的开销节省下来。下面的两个程序都是打印从1到1 0的数的平方。由于函数调用需要花费时间,所以内嵌代码版本运行的比另一个要快。9 |: |' k) i: }0 X- Y- v
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-17 10:32 , Processed in 0.167061 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表