您现在的位置: 比特财富网 >> 财经 >  >> 外匯
MT4編程初級手冊(4):自定義函數

大家可以將自定義函數與數學函數在本質上看作是是一致的,在程序中需要用到的地方直接以函數名來調用。www.emoneybtc.com

 

例如:數學函數fuc(x,y)=5x+6y (x,y為正整數) 寫成程序語句就是:

 

double fuc(double x,double y){

     double temp;

     temp=5*x+6*y;

     return(temp);

    }

 

一、同自定義變量一樣,自定義函數在付諸使用前,也必須先聲明設立,應定義其返回值類型、名稱、參數和函數體(運算處理語句)。

 

函數返回值類型、名稱、參數位於的函數頭部(參數間以逗號分隔),大括號中的是運算語句或者處理語句,也就是函數體部分。

 

return語句為函數結束語句,return後面的括號中的值為函數返回值,即函數運算處理結果。

 

在上面例子中,double為函數類型,表示該函數的返回值(運算結果)是小數;

 

x,y為參數,由於自定義變量使用之前都必須先聲明,否則函數不知道參數的類型,所以要加上類型定義關鍵詞double;

 

fa為函數名,有了函數名,我們就可以在需要使用的地方用fa(2,1)的格式來調用此函數;

 

函數體部分有三個語句:

 

第一句,定義一個整形變量temp(函數內部使用的變量);

 

第二句,用我們設定的規則計算temp的值;

 

第三句,函數結束,返回調用點,以temp的值作為本函數返回值。

 

此函數也可以簡寫為:double fa(double x,double y)  {return(5*x+6*y);}

 

二、函數的類型與類型符

 

函數的類型就是函數返回值(運算結果)的類型,與自定義變量類型一致。

 

包括整型(int)、雙精度浮點型(double)、字符串型(string)、布爾型(bool)等,還有一種函數是以函數運行或進行一定的處理為目的,運行結束後不需要返回值也沒有返回值的,則函數類型可以在聲明中寫成void(無值型)。

 

三、函數中如果需要定義自定義變量,那麼此變量作用域僅在本函數內部,函數運行結束時,這個自定義變量也就自動注銷了。

 

上例中,有x、y、temp三個自定義變量,在函數運行時被聲明創建,在函數運行結束的時侯自動消失,僅在函數內部有效,與函數外部無關,外部不可使用這些變量,需要注意的是外部可以使用與內部同名的變量但不影響內部的變量,不過為了程序的清晰性,不建議大家這麼做。

 

四、函數的調用

 

函數調用非常便捷,只要函數名正確,參數個數一致,類型相同就能夠正確的調用。

 

如我們前面創建了一個fa(x,y)函數,在程序的別處我們可以用ft(4,5)等樣式來調用fa(x,y)函數運算求值。

 

調用時,傳遞參數值給fa(x,y)函數(按次序把4傳給x,把5傳給y),返回結果22後繼續向下執行主程序。

  • 區塊鏈賦能實體產業

    曹寅:能源區塊鏈實驗室合伙人曹寅認為,從產業角度看,區塊鏈是完全基於數字世界的去中心化或弱中心化的價值新體系。區塊鏈技術的去中介化、 協同

  • 什麼是REQ (Request Network)?REQ幣可以投資嗎?

    Request是一個建立在以太坊網絡上的去中心化網絡,允許任何人在任何地方發起支付請求,並向接收者提供安全支付方法。所有的數據都存儲在一個

  • 比特大陸(BITMAIN)或推出以太坊挖礦專用ASIC芯片

    據外媒Barron報道,比特大陸可能會在未來推出以太坊挖礦專用的ASIC芯片。RBC Capital分析師Mitch Steves認為,以

  • 紐約共識大會是什麼?

    紐約共識大會由 CoinDese舉辦的區塊鏈技術峰會,每年一次,從2015年開始,到今年2018年是第四次,前三次大會情況如下:全球首屆共

  • 區塊鏈推動平民的全球化

    區塊鏈之下,全球連接的空間更緊密,6度空間在未來會變成5度乃至4度,區塊鏈可以激發各種社群的成長。興趣小組全球化會成為必然,未來世界會有各

  風險提示:比特財富網的各種信息資料僅供參考,不構成任何投資建議,不對任何交易提供任何擔保,亦不構成任何邀約,不作為任何法律文件,投資人據此進行投資交易而產生的後果請自行承擔,本網站不承擔任何責任,理財有風險,投資需謹慎。
比特財富網 版權所有 © www.emoneybtc.com