C爲什麼要把數組類型的函數參數認爲是指向數組第一個元素的指針

簡單來說,就是兩個字,效率。

衆所周知,C函數調用中,參數是按值傳遞的,這意味着函數調用的時候會對實參生成一份拷貝,然後函數操作的是這個拷貝,也就是大家都知道的函數調用不會修改實參的值,因爲這裏是值傳遞的。

由於需要拷貝函數參數,如果這個函數參數是個數組的話,那麼這個開銷就很有可能大到影響性能,而且一般來說這個拷貝沒什麼用處,所以出於效率的考慮,數組類型的函數參數會被認爲是指向數組第一個元素的指針。

當然也可以是說出於性能的考慮,囉嗦了些。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章