Malloc (memory allocation), c programlama dilinde heap bellek bölgesinden dinamik olarak bellek ayırmak için kullanılan önemli bir fonksiyondur. Programcıya çalışma zamanında istediği miktarda bellek ayırma imkanı sağlar ve başarılı olduğunda ayrılan bellek bloğunun başlangıç adresini gösteren bir pointer döndürür. Eğer bellek ayırma işlemi başarısız olursa NULL pointer döndürür.
Malloc ile ayrılan bellek programcı tarafından kullanıldıktan sonra mutlaka free() fonksiyonu ile serbest bırakılmalıdır, aksi takdirde bellek sızıntısı oluşabilir. Bu dinamik bellek yönetimi özellikle boyutu önceden bilinmeyen diziler, veri yapıları oluşturmada ve belleğin verimli kullanılması gereken durumlarda yaygın olarak kullanılır. Ayrılan bellek başlangıçta rastgele değerler içerir ve programcı bu belleği kendi ihtiyacına göre başlatmalıdır.