AlenyQt

导航

C 程序设计语言(第二版)第一章 读书笔记

1.8 变元——按值调用

C语言中,被调用函数不能直接更改调用函数中的变量值,它只能是更改其私有临时拷贝的值。

1 /* power : 求底的n次幂;n>=0;第二版本*/
2 int power(int base,int n)
3 {
4       int p;
5       for(n=1;n>0;--n)
6           p=p*base;
7       return p;
8 }

其中参数n被用做临时变量,这样就不要再引入变量i。在power函数内部对n的操作不会影响到调用函数在调用power时所使用的变元值。

如欲修改调用函数在调用power时所使用的变元,则调用者将要向被调用函数提供所需要改变值变量的地址。

1.10 外部变量与作用域

外部变量可以被所有函数通过变量名访问。

外部变量可以全局访问,因此可以用其代替变元表用于在函数间的交换数据,其一直存在于程序执行期间,而不是在函数调用时产生、在函数执行完毕时消失,即使从为其赋值函数返回后仍保留原来的值不变。

在每一函数中都要对所要访问的外部变量进行说明,说明所使用外部变量的类型,在说明时可以用extern语句显示指明,也可以通过上下文隐式说明。

posted on 2012-08-15 09:24  Aleny  阅读(284)  评论(0编辑  收藏  举报