主  题:初学者:过程与函数好像没多大区别啊?为什么要分这两种东西呢?请指教
作  者:wolftear
所属论坛:Delphi
问题点数:20
回复次数:9
发表时间:2002-1-16 20:53:28
 
  
   
回复贴子: 
回复人: renrf(rf) (2002-1-16 20:57:33)  得0分 
函数必须要有返回值,而过程不需要。  
回复人: ljer() (2002-1-16 21:22:05)  得0分 
你是学pascal?C的子程序统称函数。
函数有返回值,值有类型,而过程没有返回值,而且对于参数的传递等都更加复杂——我觉得。  
回复人: zwjchina(蒲石) (2002-1-16 21:39:07)  得5分 
在pascal中
如果是function那么在退出function的时候
会有类似mov EAX,Result的汇编指令(就一般情况而言)
而如果是Procedure那么就不必有这条指令,
那么就少一个运行周期
(我的猜想,不一定对,请高手修正我的想法)  
回复人: cszhz(丑小鸭) (2002-1-16 21:43:10)  得0分 
通用!!!
vc就没有过程!!!
哈哈哈哈  
回复人: mezw(贫农) (2002-1-16 21:57:39)  得5分 
其实用起来确实没有多大区别,有返回值用函数
没有返回值就用过程,如果想知道底层是如何实现
的,那么干脆去学vc,作什么都先列框架,各方面
都要考虑周全;
既然学了delphi,就没有必要寻根揪底(当然知道的多更好)
,这样才符合‘短,平,快’的道理。
道理太偏,请各位多指教  
回复人: wolftear(望月狼) (2002-1-16 23:16:11)  得0分 
我原本是学C++的,VC学到一定的水平了,现在因为有需要所以开始看DELPHI,很多东西我都套进C++来理解,我觉得这样分两个东西好像真的不是很必要  
回复人: shenxiaohu() (2002-1-16 23:24:19)  得0分 
有许多相通的地方  
回复人: Bellamy(酷公爵) (2002-1-16 23:34:59)  得0分 
呵呵!  
回复人: zswang(伴水)(需要充充电) (2002-1-16 23:45:58)  得10分 
在标准pascal中
  f(); //直接调用函数不赋值是非法的
  I := f(); //要通过取值的方法
  p(); //普通过程在object pascal中
  f(); //已经没有这个限制
  p(); //普通过程函数有返回值,而过程没有
过程也可以叫函数(就把过程看作返回为空的函数)这是一个先入为主的问题
就象键盘为什么要这样排列
也没有什么道理
谁叫她不是你发明的呢?