易語言子程序知識點詳解
將程序分割成較小的邏輯組件就可以簡化程序設(shè)計任務(wù),這些邏輯組件被稱為子程序。 子程序可用于壓縮重復(fù)任務(wù)或共享任務(wù),例如,壓縮頻繁的計算處理等等。
用子程序編程有兩大好處:
- 子程序可使程序劃分成離散的邏輯組件,每個組件都比無子程序的整個程序容易調(diào)試及理解;
- 一個應(yīng)用程序中的子程序,往往不必修改或只需稍作改動,便可以成為另一個程序的子程序。
每次調(diào)用子程序時,子程序中的所有語句都將被從第一條開始順序執(zhí)行,當(dāng)執(zhí)行到子程序尾部或者遇到“返回”命令時即返回到調(diào)用此子程序語句的下一條語句處。
子程序可以接收參數(shù)數(shù)據(jù)和返回值。參數(shù)數(shù)據(jù)由調(diào)用子程序的語句傳遞過來,子程序的返回值被返回到調(diào)用子程序的語句處。
子程序如需要返回值,必須先在子程序定義表的“返回值類型”欄中定義欲返回值的數(shù)據(jù)類型,然后在子程序中使用“返回”命令返回相應(yīng)格式的數(shù)據(jù)。
子程序如需要接收參數(shù)數(shù)據(jù),必須先在子程序定義表中參數(shù)表部分定義與欲接收數(shù)據(jù)數(shù)目相同的參數(shù)。調(diào)用子程序時所傳遞過來的數(shù)據(jù)將被順序地填入對應(yīng)的參數(shù)中。如果所傳遞過來的數(shù)據(jù)與對應(yīng)位置處的參數(shù)數(shù)據(jù)類型不一致,在可以互相轉(zhuǎn)換時,系統(tǒng)將自動進(jìn)行轉(zhuǎn)換,否則會產(chǎn)生運行時錯誤。參數(shù)僅能在子程序內(nèi)部使用。
定義子程序參數(shù)時需要定義以下幾項主要屬性:
- 參數(shù)名。 定義該參數(shù)在子程序中的使用名稱。參數(shù)可以如同變量一樣使用;
- 類型。所定義的數(shù)據(jù)類型應(yīng)該與欲接收數(shù)據(jù)的數(shù)據(jù)類型相同或者能夠互相轉(zhuǎn)換;
- 參考。設(shè)置系統(tǒng)為當(dāng)前子程序參數(shù)傳遞數(shù)據(jù)時是否為傳遞指向數(shù)據(jù)的指針。如果所傳遞過來的參數(shù)數(shù)據(jù)為數(shù)組、用戶定義數(shù)據(jù)類型、庫定義數(shù)據(jù)類型、字節(jié)集型、文本型數(shù)據(jù),則無論此屬性是否為真,都將傳遞指針。如果所傳遞過來數(shù)據(jù)的類型與相應(yīng)位置處參數(shù)的數(shù)據(jù)類型不一致但可以相互轉(zhuǎn)換,譬如將“整數(shù)型”數(shù)據(jù)傳遞到“小數(shù)型”的參數(shù)中,則在數(shù)據(jù)被實際傳遞前,系統(tǒng)將首先自動將“整數(shù)型”數(shù)據(jù)轉(zhuǎn)換為“小數(shù)型” 數(shù)據(jù),然后再進(jìn)行傳遞。因此在這種情況下,即使本屬性為真,系統(tǒng)也無法傳遞指向原參數(shù)數(shù)據(jù)的指針,只能傳遞數(shù)據(jù)本身。如果系統(tǒng)將數(shù)據(jù)指針成功地傳遞過來,那么在子程序中對此參數(shù)的內(nèi)容的更改將會相應(yīng)地反映到調(diào)用子程序時所提供的參數(shù)數(shù)據(jù)上。
可空。如果本屬性為真,那么在調(diào)用本子程序時,調(diào)用方可以不為此位置處的參數(shù)傳遞數(shù)據(jù)。主要用作支持具有默認(rèn)值的參數(shù),也可以在為子程序添加了新參數(shù)后又不想去更改以前調(diào)用此子程序的語句時使用。在子程序中可以使用“是否為空”命令來查詢調(diào)用方是否提供了參數(shù)數(shù)據(jù)。
數(shù)組。設(shè)置當(dāng)前子程序參數(shù)是否為接收數(shù)組數(shù)據(jù)。如果本屬性為真,則調(diào)用方應(yīng)該為本參數(shù)傳遞數(shù)組數(shù)據(jù),否則只能傳遞非數(shù)組數(shù)據(jù)。
到此這篇關(guān)于易語言子程序知識點詳解的文章就介紹到這了,更多相關(guān)易語言子程序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!