C标準主要由兩部分組成,一部分描述C的文法,另一部分描述C标準庫。C标準庫定義了一組标準頭檔案,每個頭檔案中包含一些相關的函數、變量、類型聲明和宏定義。要在一個平台上支援C語言,不僅要實作C編譯器,還要實作C标準庫,這樣的實作才算符合C标準。不符合C标準的實作也是存在的,例如很多單片機的C語言開發工具中隻有C編譯器而沒有完整的C标準庫。
在Linux平台上最廣泛使用的C函數庫是glibc,其中包括C标準庫的實作,所有系統函數。幾乎所有C程式都要調用glibc的庫函數,是以glibc是Linux平台C程式運作的基礎。glibc提供一組頭檔案和一組庫檔案,最基本、最常用的C标準庫函數和系統函數在libc.so庫檔案中,幾乎所有C程式的運作都依賴于libc.so,有些做數學計算的C程式依賴于libm.so,以後我們還會看到多線程的C程式依賴于libpthread.so。以後我說libc時專指libc.so這個庫檔案,而說glibc時指的是glibc提供的所有庫檔案。glibc并不是Linux平台唯一的基礎C函數庫,也有人在開發别的C函數庫,比如适用于嵌入式系統的uClibc,klibc。