我這歲數的程式圓,學點東西不容易啊,不比你們小年輕啊!
所以,別浪費時間了,繼續肝吧。
高階函式-函式作為引數
優點:更加靈活
呼叫函式時不需要考慮它內部是如何實現的,它把內部實現的細節給我們封裝好了
函式名更具有實際意義
示例-1:
/**
* 模擬foreach
* 這是乙個遍歷函式,但是我們不確實最終的結果是直接列印,還是輸出到頁面上,所以我們傳入乙個匿名函式,去自行處理
*/function foreach(arr, fn)
}let aaa = [1, 2, 3, 4, 5];
foreach(aaa, function (item) );
示例-2:
/**
* 模擬filter
* 這是乙個過濾函式,但我們不確實過濾條件,這時我們可以傳乙個匿名函式,
* 過濾條件我們在呼叫filter函式的時候,通過傳入的匿名函式去完成,filter函式直接返回執行結果
*/function filter(arr, fn)
} return result;
}let bbb = [4, 5, 6, 7, 8];
let r = filter(bbb, function (item) );
console.log(r)
上邊是兩個很普通的小例子,在實際開發過程中,有很多類似的場景,所以把函式做為引數傳入還是很有必要的
每天寫寫部落格,果然就是超越自己。
函式指標作為函式引數
先來看看普通的指標 如果有 int a 那麼可以定義乙個 int p a 則p是乙個指向a的指標 定義指標用乙個比較粗淺的方法來說就是把原來的變數名換掉並且前面加星號,比如這裡就是把a換成p並且前面加星號,就定義了乙個可以指向a的指標 同理,如果要定義乙個指向函式的指標,那麼也只要把函式名做類似的處...
指標作為函式引數
當指標作為函式引數時,對引數本身的修改並不影響原來的值,比如下面的 刪除鍊錶中第乙個值為item的結點。但是結果卻不正確。void delete node head,int item 這段 的問題是,第乙個引數是指標型別而head null修改的實際上是這個指標的乙個副本,所以不會對原來的指標產生效...
陣列作為函式引數
一 一維陣列名作函式引數 用陣列名作函式引數,應該在主調函式和被調函式分別定義陣列,例如 void main 在被呼叫函式中宣告了形引數組的大小為10,但在實際中,指定其大小是不起任何作用的,因為c語言編譯對形引數組大小不做檢查,只將實參陣列的首元素位址傳給形引數組。形引數組可以不指定大小,在定義陣...