WIKI使用導航
站長百科導航
站長專題
- 網(wǎng)站推廣
- 網(wǎng)站程序
- 網(wǎng)站賺錢
- 虛擬主機
- cPanel
- 網(wǎng)址導航專題
- 云計算
- 微博營銷
- 虛擬主機管理系統(tǒng)
- 開放平臺
- WIKI程序與應用
- 美國十大主機
子程序
來自站長百科
子程序就是能被其他程序調(diào)用,在實現(xiàn)某種功能后能自動返回到調(diào)用程序去的程序。其最后一條指令一定是返回指令,故能保證重新返回到調(diào)用它的程序中去。也可調(diào)用其他子程序,甚至可自身調(diào)用(如遞歸)。在計算機科學中,子程式是一個大型程式中的某部份程式碼,由一個或多個語句塊組成。它負責完成某項特定任務,而且相較于其他程式碼,具備相對的獨立性。一般會有輸入?yún)?shù)并有返回值,提供對過程的封裝和細節(jié)的隱藏。這些代碼通常被整合為軟件庫。函數(shù)在面向過程的語言中已經(jīng)出現(xiàn)。是結構(Struct)和類(Class)的前身。本身就是對具有相關性語句的歸類和對某過程的抽象。
子程序分類[ ]
- 子程式(subroutine)是一個概括性的術語,任何高階程序所呼叫的程序,都被稱為子程式。它經(jīng)常被使用在組合語言層級上。子程式的主體(body)是一個程式碼區(qū)塊,當它被呼叫時就會進入執(zhí)行。
- 函數(shù)(function)是一種子程式,利用函數(shù)名稱,可以接收回傳值。例如:
c = max (a,b); |
- 程序(procedure)是一種子程式,它能夠接受不同的引數(shù),來執(zhí)行某些特別的動作。例如:
printf("Hello World\n") |
函數(shù)與程序在某些編程語言中是被分開的,但是在C語言中,所有程序都是函數(shù),這兩者被認為是相同的。這有可能造成一些副作用,特別是在回傳值是void型別時。在面向?qū)ο?a href="/wiki/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1" title="程序設計">程序設計語言中,類別或物件中的子程式,被稱為方法(method)。
子程序的作用[ ]
- 降低復雜性:使用子程序的最首要原因是為了降低程序的復雜性,可以使用子程序來隱含信息,從而使你不必再考慮這些信息。
- 避免代碼段重復:無可置疑,生成子程序最普遍的原因是為了避免代碼段重復。
- 限制改動帶來的影響:由于在獨立區(qū)域進行改動,因此,由此帶來的影響也只限于一個或最多幾個區(qū)域中。要把最可能改動的區(qū)域設計成最容易改動的區(qū)域。最可能被改動的區(qū)域包括:硬件依賴部分、輸入輸出部分、復雜的數(shù)據(jù)結構和商務規(guī)則。
- 隱含順序:把處理事件的非特定順序隱含起來是一個很好的想法。
- 改進性能:通過使用子程序,可以只在一個地方,而不是同時幾個地方優(yōu)化代碼段。把相 同代碼段放在子程序中,可以通過優(yōu)化這一個子程序而使得其余調(diào)用這個子程序的子程序全部 受益。把代碼段放入子程序也使得用更快的算法或執(zhí)行更快的語言(如匯編)來改進這段代碼 的工作變得容易些。
- 進行集中控制
- 隱含數(shù)據(jù)結構
- 隱含指針操作
- 隱含全局變量
- 促進重新使用代碼段
- 計劃開發(fā)一個軟件族
- 改善某一代碼段可讀性
- 改善可移植性
- 分隔復雜操作
- 獨立非標準語言函數(shù)的
- 簡化復雜的布爾測試