c語言函數單獨編譯
① c語言程序中將一個演算法單獨寫成函數與直接寫在主函數中相比,運行起來前者是不是要比後者耗時更久
肯定是直接在主函數調用快。
想一想,如果你要去吃飯,而且耗得時間得更少,你是會選擇在家吃還是在外面吃?C也是如此,每當你調用函數時,需要將參數傳遞給函數,再將線程轉到另一個函數,其中進行了許多關於內存的操作,所以在主函數調用演算法比在其它函數調用演算法更快(但差別十分小)。
但也有其它情況,比如你要多次對一組參數進行演算法操作,你肯定不能在主函數中一次次編寫演算法操作,這樣不僅會影響代碼可讀性,還會加大文件的大小,這時候最好將演算法放到其它函數中去,到時候在主函數一次次調用即可。就如上位老兄所說,這樣對封裝性有一定的幫助。
所以,如果演算法代碼量較少,且調用次數較少,就在主函數調用,反之則將演算法放到另一個函數,再在主函數調用。
② c語言中的函數可不可以單獨進行編譯
是可以的。
庫函數是把函數放到庫里,供別人使用的一種方式。函數庫是由系統建立的具有一定功能的函數的集合。庫中存放函數的名稱和對應的目標代碼,以及連接過程中所需的重定位信息。用戶也可以根據自己的需要建立自己的用戶函數庫。
使用C語言的語句直接計算sin或cos函數,就需要編寫頗為復雜的程序。因為C語言的語句中沒有提供直接計算sin或cos函數的語句。又如為了顯示一段文字,我們在C語言中也找不到顯示語句,只能使用庫函數printf。
(2)c語言函數單獨編譯擴展閱讀
函數庫的分類
1、字元串、內存和字元函數
需要的包含文件:string.h、mem.h、ctype.h或string.h;
2、數學函數
需要的包含文件:math.h;
3、動態存儲分配
需要的包含文件:alloc.h或stdlib.h ;
③ 在C語言程序中,只有main函數才可單獨進行編譯,哪裡錯了
有函數的都可以單獨進行編譯,編譯是指把程序語句翻譯為機器代碼,對於C語言就是把.c文件翻譯為.obj文件。
此外,必須要有main函數的才可以完成連接為exe文件。