“C语言的函数兼有其它语言中的函数和过程两种功能”,怎么理解,请用C/C++或者汇编说明

C语言的函数兼有其它语言中的函数和过程两种功能,从这个角度看,又可把函数分为有返回值函数和无返回值函数两种。
这句话怎么理解,换而言之,就是这个所谓的“函数”和“过程”是什么?怎么理解?
请用c或者C++说明,8086汇编或者win32汇编也可以,其他语言没学过

  函数用于计算,过程用于操作。
  
  一般来说,一个程序在运行中遇到一个函数,即压栈(可暂理解为储存)当前所有状态,并停止运行当前程序,转入运行函数体,此时函数体的运行是在与原程序毫不相干的空间中运行,无论函数怎么运行都不会对原程序造成任何影响,当函数体运行结束时,此函数运行时所开辟的空间也随之消失,原程序将压栈过的数据提取出来,并接受函数的返回值继续运行。
  
  函数必须有返回值么?当然不必,但根据刚才的描述我们知道,函数是靠返回值来影响程序的,没有返回值的函数不会对程序造成任何影响,是没有意义的。
  
  再来说过程,过程是完成对程序的某种操作,这个操作会影响程序的运行,本质上是对计算机硬件的操作。例如,从键盘读数据,将数据输出到屏幕,指针(记录内存地址的变量)操作等
  
  那过程和一条普通的指令有什么区别呢?过程和函数一样都是许多指令的集合,同一种操作可能重复许多次,为了是程序员少做一些重复工作,同时也为了增强代码的可读性,故程序语言中才定义了函数和过程。
  
  老城百姓出品

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-10-30
对于C++来说
int FuncTest(void); 就是一个函数.
void FuncTest(void);就是相当于其他语言中的一个过程.
就是说C++中函数的返回值只要是void型就相当于其他语言中的过程.
第2个回答  2013-10-29
函数式有返回值的;过程没有返回值追问

您的意思是,是否有返回值,在别的语言里,就是区别函数和过程的唯一区别?没有什么结构上,参数上等等的区别?
也就是说,任意一个过程,我加了一个返回值,立马变成函数?

相似回答
大家正在搜