易語言子程式知識點詳解
阿新 • • 發佈:2020-03-27
將程式分割成較小的邏輯元件就可以簡化程式設計任務,這些邏輯元件被稱為子程式。 子程式可用於壓縮重複任務或共享任務,例如,壓縮頻繁的計算處理等等。
用子程式程式設計有兩大好處:
- 子程式可使程式劃分成離散的邏輯元件,每個元件都比無子程式的整個程式容易除錯及理解;
- 一個應用程式中的子程式,往往不必修改或只需稍作改動,便可以成為另一個程式的子程式。
每次呼叫子程式時,子程式中的所有語句都將被從第一條開始順序執行,當執行到子程式尾部或者遇到“返回”命令時即返回到呼叫此子程式語句的下一條語句處。
子程式可以接收引數資料和返回值。引數資料由呼叫子程式的語句傳遞過來,子程式的返回值被返回到呼叫子程式的語句處。
子程式如需要返回值,必須先在子程式定義表的“返回值型別”欄中定義欲返回值的資料型別,然後在子程式中使用“返回”命令返回相應格式的資料。
子程式如需要接收引數資料,必須先在子程式定義表中引數表部分定義與欲接收資料數目相同的引數。呼叫子程式時所傳遞過來的資料將被順序地填入對應的引數中。如果所傳遞過來的資料與對應位置處的引數資料型別不一致,在可以互相轉換時,系統將自動進行轉換,否則會產生執行時錯誤。引數僅能在子程式內部使用。
定義子程式引數時需要定義以下幾項主要屬性:
- 引數名。 定義該引數在子程式中的使用名稱。引數可以如同變數一樣使用;
- 型別。所定義的資料型別應該與欲接收資料的資料型別相同或者能夠互相轉換;
- 參考。設定系統為當前子程式引數傳遞資料時是否為傳遞指向資料的指標。如果所傳遞過來的引數資料為陣列、使用者定義資料型別、庫定義資料型別、位元組集型、文字型資料,則無論此屬性是否為真,都將傳遞指標。如果所傳遞過來資料的型別與相應位置處引數的資料型別不一致但可以相互轉換,譬如將“整數型”資料傳遞到“小數型”的引數中,則在資料被實際傳遞前,系統將首先自動將“整數型”資料轉換為“小數型” 資料,然後再進行傳遞。因此在這種情況下,即使本屬性為真,系統也無法傳遞指向原引數資料的指標,只能傳遞資料本身。如果系統將資料指標成功地傳遞過來,那麼在子程式中對此引數的內容的更改將會相應地反映到呼叫子程式時所提供的引數資料上。
可空。如果本屬性為真,那麼在呼叫本子程式時,呼叫方可以不為此位置處的引數傳遞資料。主要用作支援具有預設值的引數,也可以在為子程式添加了新引數後又不想去更改以前呼叫此子程式的語句時使用。在子程式中可以使用“是否為空”命令來查詢呼叫方是否提供了引數資料。
陣列。設定當前子程式引數是否為接收陣列資料。如果本屬性為真,則呼叫方應該為本引數傳遞陣列資料,否則只能傳遞非陣列資料。
到此這篇關於易語言子程式知識點詳解的文章就介紹到這了,更多相關易語言子程式內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!