C語言這些經常使用的標準庫(頭文件),你不得不知道...

有不少工程師喜歡本身封裝一些標準庫已有的函數,其實本身封裝的函數,並不必定比標準庫好,有時候反而代碼更冗餘,且有bug。數據庫

下面小編就來分享一下C語言常見的一些標準庫。編程

標準頭文件包括:windows

<asset.h><ctype.h><errno.h><float.h><limits.h>數組

<locale.h><math.h><stdio.h><signal.h><time.h>網絡

<stddef.h><stdlib.h><string.h><stdarg.h><setjmp.h>數據結構

1、標準定義(<stddef.h>) 

        文件<stddef.h>裏包含了標準庫的一些經常使用定義,不管咱們包含哪一個標準頭文件,<stddef.h>都會被自動包含進來。函數

這個文件裏定義:學習

● 類型size_t(sizeof運算符的結果類型,是某個無符號整型);編碼

● 類型ptrdiff_t(兩個指針相減運算的結果類型,是某個有符號整型);spa

● 類型wchar_t(寬字符類型,是一個整型,其中足以存放本系統所支持的全部本地環境中的字符集的全部編碼值。這裏還保證空字符的編碼值爲0);

● 符號常量NULL(空指針值);

● 宏offsetot (這是一個帶參數的宏,第一個參數應是一個結構類型,第二個參數應是結構成員名。

offsetot(s,m)

        求出成員m在結構類型t的變量裏的偏移量)。

注:其中有些定義也出如今其餘頭文件裏(如NULL)。

 

2、錯誤信息(<errno.h>)

        <errno.h>定義了一個int類型的表達式errno,能夠看做一個變量,其初始值爲0,一些標準庫函數執行中出錯時將它設爲非0值,但任何標準庫函數都設置它爲0。

        <errno.h>裏還定義了兩個宏EDOM和ERANGE,都是非0的整數值。數學函數執行中遇到參數錯誤,就會將errno置爲EDOM,如出現值域錯誤就會將errno置爲ERANGE。

 

3、輸入輸出函數(<stdio.h>)

文件打開和關閉:


 

字符輸入輸出:


 

getc和putc與這兩個函數相似,但經過宏定義實現。一般有下面定義:


 

格式化輸入輸出:


 

行式輸入輸出:


 

直接輸入輸出:


 

4、數學函數(<math.h>)

1.三角函數:


 

2.指數和對數函數:


 

3.其餘函數:


 

注:全部上面未給出類型特徵的函數都取一個參數,其參數與返回值都是double類型。

        下面函數返回雙精度值(包括函數ceil和floor)。在下表裏,除其中有特別說明的參數以外,全部函數的其餘參數都是double類型。

函數原型意義解釋:


 

5、字符處理函數(<ctype.h>)

        見下表:


 

注:條件成立時這些函數返回非0值。最後兩個轉換函數對於非字母參數返回原字符。

 

6、字符串函數(<string.h>)

1.字符串函數

        全部字符串函數列在下表裏,函數描述採用以下約定:s、t表示 (char *)類型的參數,cs、ct表示(const char*)類型的參數(它們都應表示字符串)。

        n表示size_t類型的參數(size_t是一個無符號的整數類型),c是整型參數(在函數裏轉換到char):

函數原型意義解釋:


 

2.存儲區操做

        <string.h>還有一組字符數組操做函數(存儲區操做函數),名字都以mem開頭,以某種高效方式實現。

        在下面原型中,參數s和t的類型是(void *),cs和ct的類型是(const void *),n的類型是size_t,c的類型是int(轉換爲unsigned char)。

函數原型意義解釋:


 

 

7、功能函數(<stdlib.h>)

1.隨機數函數:

函數原型意義解釋


 

2.動態存儲分配函數:

函數原型意義解釋


 

3.幾個整數函數

        幾個簡單的整數函數見下表,div_t和ldiv_t是兩個預約義結構類型,用於存放整除時獲得的商和餘數。

        div_t類型的成分是int類型的quot和rem,ldiv_t類型的成分是long類型的quot和rem。

函數原型意義解釋


 

4.數值轉換

函數原型意義解釋


 

5.執行控制

1)非正常終止函數abort。

原型是: 


 

2)正常終止函數exit。

原型是:


 

        致使程序按正常方式當即終止。status做爲送給執行環境的出口值,0表示成功結束,兩個可用的常數爲EXIT_SUCCESS,EXIT_FAILURE。

3)正常終止註冊函數atexit。

原型是:


 

        可用本函數把一些函數註冊爲結束動做。被註冊函數應當是無參無返回值的函數。註冊正常完成時atexit返回值0,不然返回非零值。

6.與執行環境交互

1)向執行環境傳送命令的函數system。

 原型是:


 

        把串s傳遞給程序的執行環境要求做爲系統命令執行。如以NULL爲參數調用,函數返回非0表示環境裏有命令解釋器。若是s不是NULL,返回值由實現肯定。

2)訪問執行環境的函數getenv。

原型是:


 

        從執行環境中取回與字符串s相關聯的環境串。若是找不到就返回NULL。本函數的具體結果由實現肯定。在許多執行環境裏,能夠用這個函數去查看「環境變量」的值。

7.經常使用函數bsearch和qsort

1)二分法查找函數bsearch:


 

        函數指針參數cmp的實參應是一個與字符串比較函數strcmp相似的函數,肯定排序的順序,當第一個參數keyval比第二個參數datum大、相等或小時分別返回正、零或負值。

2)快速排序函數qsort:

        qsort對於比較函數cmp的要求與bsearch同樣。設有數組base[0],...,base[n-1],元素大小爲size。用qsort能夠把這個數組的元素按cmp肯定的上升順序從新排列。


 
最後,無論你是轉行也好,初學也罷,進階也可,若是你想學編程~

——【值得關注】個人 C/C++編程學習交流俱樂部!——

涉及:C語言、C++、windows編程、網絡編程、QT圖形界面開發、Linux編程、遊戲編程、數據結構與算以及數據庫......

相關文章
相關標籤/搜索