子程序
外观
![本页使用了标题或全文手工转换](http://upload.wikimedia.org/wikipedia/commons/thumb/c/cd/Zh_conversion_icon_m.svg/35px-Zh_conversion_icon_m.svg.png)
“子程序”的各地常用名称 | |
---|---|
中国大陆 | 子程序、子例程 |
台湾 | 子程式、副程式、次程式、次常式 |
在计算机科学中,子程式(德语:unterprogramm,英语:subroutine, subprogram, callable unit),是一个大型程式中的某部份程式码,由一个或多个语句块组成。它负责完成某项特定任务,而且相较于其他程式码,具备相对的独立性。
一般会有输入参数并有返回值,提供对过程的封装和细节的隐藏。这些代码通常被整合为软件库。
函数在面向过程的语言中已经出现。是结构(struct)和类(class)的前身。本身就是对具有相关性语句的归类和对某过程的抽象。
分类
[编辑]子程式是一个概括性的术语,子程式是所有高阶程式所称。它经常被使用在组合语言层级上。子程式的主体(body)是一个程式码区块,当它被呼叫时就会进入执行。
函数
[编辑]“函数”的各地常用名称 | |
---|---|
中国大陆 | 函数 |
台湾 | 函式、函数 |
港澳 | 函数 |
函数(function)是一种子程式,利用函数名称,可以接收回传值。例如:
c = max(a,b);
程序
[编辑]“程序”的各地常用名称 | |
---|---|
中国大陆 | 过程 |
台湾 | 程序 |
港澳 | 程式 |
程序(procedure)是一种子程式,它能够接受不同的引数,来执行某些特别的动作。例如:
printf("Hello World\n");
函数与程序在某些程式语言中是被分开的,但是在C语言中,所有程序都是函数,这两者被认为是相同的。这有可能造成一些副作用,特别是在回传值是void
型别时。