De Standaard-C-bibliotheek (libc) is een gestandaardiseerde bibliotheek voor de programmeertaal C. De bibliotheek bestaat uit een collectie headerbestanden en code voor een 200-tal courante functies, zoals voor het uitvoeren van input/output, manipuleren van strings of wiskundige bewerkingen. Deze bibliotheek is in elke C-omgeving aanwezig.

In tegenstelling tot verschillende andere programmeertalen, zoals vroeger Pascal of Fortran, kende C weinig ingebouwde functionaliteit. Uit verschillende implementaties ontstonden uiteindelijk na verloop van tijd de nu standaardfuncties. De naam en karakteristieken van elke bibliotheekfunctie worden bepaald in een headerbestand; de eigenlijk implementatie bevindt zich echter in een afzonderlijk bibliotheekbestand. Deze code wordt uiteindelijk meegelinkt in het programma. Veel compilers leveren een implementatie van de standaardbibliotheek mee, of kunnen gebruik maken van de standaardbibliotheek die op het platform aanwezig is.

ANSI-standaard 
De ANSI-standaard-C-bibliotheek bevat 24 headerbestanden. In vergelijking met sommige andere talen, zoals Java, is deze standaardbibliotheek minimaal. Ze voorziet een aantal basisfuncties voor wiskundige bewerkingen, stringmanipulaties, typeconversies en invoer en uitvoer naar bestand en naar de console. De bibliotheek bevat geen containertypes, zoals de Standard Template Library in C++ die levert, geen GUI-routines of netwerkfunctionaliteiten.

Implementaties 
Samen met de compiler gcc werd door het GNU-project de vrije implementatie glibc ontwikkeld. Deze wordt vooral op Linux- en UNIX-systemen gebruikt. Er bestaan ook vrije implementaties onder BSD-licentie, gebruikt in systemen zoals OpenBSD, FreeBSD en NetBSD.

Op Microsoft Windows gebruikt Microsofts compiler een eigen implementatie van de bibliotheek in de Microsoft Visual C/C++ Runtime (mscvrt.dll).

Voor embedded systemen bestaan er kleine minimale implementaties, zoals µClibc (speciaal voor uClinux ontwikkeld) of dietlibc.

Andere talen 
Sommige andere programmeertalen nemen functionaliteit van de standaard-C-bibliotheek over in hun eigen bibliotheek. Zo biedt de programmeertaal C++ de functionaliteit aan in de namespace std, door middel van headerbestanden met gelijkaardige namen als de C-headerbestanden. Ook talen als D of Python gebruiken de standaardbibliotheek van C.

C-standaardbibliotheek