Programovací jazyk C řeší uživatelské přidělování paměti pomocí standardních knihovních funkcí. K dispozici jsou funkce malloc() pro přidělení prostoru určité velikosti a free() pro uvolnění přidělené paměti. Paměťový prostor přidělený funkcí malloc() není spojen s žádným datovým typem a není inicializovaný, vrácený ukazatel musí být přetypován na požadovaný typ a o jeho správnou inicializaci se musí postarat uživatel.