其實看你用得編譯器了,如果你用的VC++6.0的話, 不管是.C文件還是.CPP文件都可以用inline 定義內聯函數。但是語法來說,C語言是沒有內聯這個概念的,C++才有
創新互聯專業為企業提供集美網站建設、集美做網站、集美網站設計、集美網站制作等企業網站建設、網頁設計與制作、集美企業網站模板建站服務,十余年集美做網站經驗,不只是建網站,更提供有價值的思路和整體網絡服務。
這個是內聯函數。
C語言本身是不支持內聯函數的,在最新的C標準C99中C語言支持了內聯函數。
C++支持內聯函數。
從編譯器的角度:
有些C語言編譯器,例如GNU C提供了內聯函數的支持。
所有C++編譯器都支持內聯函數。
如果你的C語言編譯器不支持內聯函數,看看它有多古老,太古老不行(例如 Turbo C 2.0)。如果是C/C++合體編譯器,那就切換到編譯C++模式(例如VisualC++)。
1.內聯函數可減少cpu的系統開銷,并且程序的整體速度將加快,但當內聯函數很大時,會有相反的作用,因此一般比較小的函數才使用內聯函數.
2.有兩種內聯函數的聲明方法,一種是在函數前使用inline關見字,另一種是在類的內部定義函數的代碼,這樣的函數將自動轉換為內聯函數,而且沒必要將inline放在函數前面.
3.內聯是一種對編譯器的請求,下面這些情況會阻止編譯器服從這項請求.
如果函數中包含有循環,switch或goto語句,遞歸函數,含有static的函數.
由此可以看出,內聯函數和成員函數沒什么區別,區別就在于怎樣加快函數的執行速度而已。