帶參的宏與函數比較

1)函數調用是在程序運行時處理的,在棧中分配內存單元。而宏代換則是在編譯前進行的,在代換時並不分配內存單元,不進行值的傳遞,也沒有“返回值”的概念。

2)函數調用時,先求出實參表達式的值,然後賦值給形參。而使用帶參的宏只是進行簡單的字符代換。

3)對函數中的形參和實參都要定義類型。而宏不存在類型問題。

4)宏代換不佔用運行時間,只佔用編譯時間;而函數調用則佔用運行時間(分配單元,保留現場,參數傳遞,值返回等)

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