C/C++的函数(Function)与过程(Procedure)

来源:互联网 发布:jq和js区别 编辑:程序博客网 时间:2024/06/04 18:11

C/C++的函数与过程


黄国强 2010/9/26

 

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