C/C++的函数与过程
黄国强 2010/9/26
由于从语言关键词上C/C++是不区分函数和过程的,所以很多人对两者的概念很模糊。有一种观点认为,有返回值的就是函数,没有返回值的就是过程。这个定义事实上还是让人无法区分。
1837年德国数学家狄里克雷的定义是:“如果对于x的每一个值,y总有一个完全确定的值与之对应,则y是x的函数 ”。
从上面的定义我们就可以很容易区分函数和过程。以下面的函数(或过程)为例:
int y = foo(int x);
如果满足上面的定义,即x的每一个值,y总有一个完全确定的值与之对应,则foo是函数。否则foo是过程。过程的一般都要访问一些状态量,因而,输入固定值返回值却是变化的。