„Socket C“ yra terminas, kuris kartais vartojamas nurodant lizdo kodo rašymo procesą C programavimo kalba, o kartais vartojamas nurodant tikrąjį bibliotekos failą, kuriame yra kai kurių lizdų funkcijų įgyvendinimas. Tikrajame socket C bibliotekos faile yra įvairių funkcijų ir makrokomandų, kurios suteikia pagrindines kalbų bibliotekų teikiamas lizdo funkcijas, įgyvendinimas, nors socket C failas priklauso nuo operacinės sistemos ir kai kuriose sistemose gali būti neįdiegtas. Rašant lizdo C kodą, reikia sukurti sąsają su standartiniu įvesties ir išvesties protokolu, vadinamu lizdu, ir naudoti jį informacijai siųsti arba gauti, dažniausiai tinkle arba per aparatinę įrangą. C programavimo kalba yra skirta nešiojamai, tačiau lizdų programavimas priklauso nuo kai kurių žemo lygio specifinių sistemos funkcijų, todėl kartais gali būti sunku rašyti programas C kalba, kurios naudoja lizdus, bet taip pat palaiko kelių sistemų perkeliamumą.
Yra trys pagrindiniai lizdų tipai, kuriuos palaiko lizdas C. Pirmasis yra žinomas kaip datagrama, antrasis yra srautas, o trečiasis yra neapdorota prieiga. Datagrama yra lizdo tipas, siunčiantis informaciją mažais paketais, žinomais kaip paketai. Kiekvienas paketas siunčiamas iš šaltinio su informacija apie paskirties lizdą, kurio jis ieško tinkle. Nors datagrama gali būti veiksmingas būdas bendrauti per lizdus ir dažnai naudojama el. laiškams siųsti, ji taip pat yra nuostolinga, nes negarantuojama, kad joks išsiųstas paketas nepateks į paskirties lizdą.
Srauto lizdas sukuria ryšį su kitu lizdu, o informacija perduodama tiesiai tarp lizdų. Kai naudojamas programuojant lizdą C, tokio tipo lizdas užtikrina, kad visi siunčiami duomenys būtų gauti kitoje pusėje. Tačiau viena komplikacija yra ta, kad lizdas kartais gali naudoti blokavimą, o tai reiškia, kad lizdas sustabdys proceso vykdymą, kol bus gauta informacija arba kol lizdas bus uždarytas, nors daugeliu atvejų šią problemą galima išspręsti gijų arba šakotųjų procesų naudojimas. Neapdorota prieiga prie lizdo suteikiama kaip beveik aparatinės įrangos lygmens sąsajos su bet kokiu įrenginiu, kuriame yra lizdas, priemonė.
Lizdai dažniausiai naudojami įvairiomis formomis interneto ryšiui. Aparatinė įranga ir tvarkyklės, leidžiančios prisijungti prie tinklo, labai skiriasi priklausomai nuo operacinės sistemos, todėl gali būti sunku rasti lizdo C bibliotekos failą, kuris palaiko visus galimus derinius. Dėl šios priežasties pačiame socket C faile, taip pat socket antraštės faile, dažnai yra ilgas sąlyginio kompiliavimo direktyvų sąrašas, todėl įvairiose sistemose jis bus kompiliuojamas skirtingai.