C malloc(sizeof(int)) vs malloc(sizeof(int *)) vs (int *)malloc(sizeof(int))

UmpaLumpalar

Centipat
Katılım
8 Ocak 2022
Mesajlar
72
Daha fazla  
Cinsiyet
Erkek
Araştırdım fakat tam olarak kafama yatmadı. Bunu anlatıp, örnek verebilecek varsa çok sevinirim.

Benim anladığım kadarıyla; ilki sadece 1 int yer ayırıyor, ikincisi bir işaretçiyi işaret eden Int'lik yer ayırıyor, üçüncüsü ise default olarak bildiğim malloc kullanımı. Sonuncusununda zaten sorun yok
Yanlışım varsa düzeltirseniz sevinirim
 
Son düzenleyen: Moderatör:
malloc(sizeof(int)) int kaç byte ise o kadar bellek tahsis eder.
malloc(sizeof(int *)) işaretçi kaç byte ise o kadar bellek tahsis eder.
(int *)malloc(sizeof(int)) ilk satırla aynı, ekstra olarak typecast kullanılmış bunun da sebebi malloc fonksiyonu void type işaretçi döndürüyor, bazı derleyiciler uyarı verebiliyor.
 
Son düzenleme:

Yeni konular

Geri
Yukarı