C語言,內聯函式有什麼優點

2021-06-07 15:05:50 字數 506 閱讀 2109

引入內聯函式的目的是為了解決程式中函式呼叫的效率問題。

函式是一種更高階的抽象。它的引入使得程式設計者只關心函式的功能和使用方法,而不必關心函式功能的具體實現;函式的引入可以減少程式的目標**,實現程式**和資料的共享。但是,函式呼叫也會帶來降低效率的問題,因為呼叫函式實際上將程式執行順序轉移到函式所存放在記憶體中某個位址,將函式的程式內容執行完後,再返回到轉去執行該函式前的地方。這種轉移操作要求在轉去前要保護現場並記憶執行的位址,轉回後先要恢復現場,並按原來儲存位址繼續執行。因此,函式呼叫要有一定的時間和空間方面的開銷,於是將影響其效率。特別是對於一些函式體**不是很大,但又頻繁地被呼叫的函式來講,解決其效率問題更為重要。引入內聯函式實際上就是為了解決這一問題。

在程式編譯時,編譯器將程式中出現的內聯函式的呼叫表示式用內聯函式的函式體來進行替換。顯然,這種做法不會產生轉去轉回的問題,但是由於在編譯時將函式休中的**被替代到程式中,因此會增加目標程式**量,進而增加空間開銷,而在時間代銷上不象函式呼叫時那麼大,可見它是以目標**的增加為代價來換取時間的節省。

arduino 有什麼優點

arduino是一款便捷靈活 方便上手的開源硬體產品,具有豐富的介面,有數字i o口,模擬i o口,同時支援spi,iic,uart串列埠通訊。能通過各種各樣的感測器來感知環境,通過控制燈光 馬達和其他裝置來反饋 影響環境。它沒有複雜的微控制器底層 沒有難懂的彙編,只是簡單而實用的函式。而且具有簡便...

C語言內聯函式

1 內聯函式 c 中關鍵字 inline 用法解析 測試 inlinetest.c include inlinetest.h include stdio.h define adddefine a,b,val do while 0 inline int addinline int a,int b in...

Scratch學習有什麼優點

從 拖拽程式設計 起步是最好的選擇 scratch學習資料 提取碼 zcf2 對於初學程式設計的少年兒童來說,從 拖拽程式設計 起步是最好的選擇。拖拽程式設計 是一種基本的技術,可以讓你通過拖拽塊建立 而不是手動編寫基於文字的 也就是說,我們可以在不細究語言語法格式的情況之下,很容易地理解程式設計原...