calloc()
Mengalokasikan memori secara dinamis dan mengisinya dengan nol dalam C
Fungsi calloc()
digunakan untuk mengalokasikan blok memori secara dinamis, mirip dengan malloc()
, tetapi secara otomatis menginisialisasi semua byte dengan nol (0
).
Sintaks
num
➜ Jumlah elemen yang ingin dialokasikan.size
➜ Ukuran (dalam byte) dari setiap elemen.Mengembalikan pointer ke blok memori yang dialokasikan.
Jika gagal, mengembalikan
NULL
.
Contoh Penggunaan
1. Mengalokasikan memori untuk array integer
Hasilnya:
calloc(n, sizeof(int))
➜ Mengalokasikan 5 x 4 byte = 20 byte untuk array integer.Setiap elemen otomatis diisi dengan nol (
0
).free(arr)
➜ Membebaskan memori setelah digunakan.
2. Mengalokasikan memori untuk string
Hasilnya:
calloc(20, sizeof(char))
➜ Mengalokasikan 20 byte dan mengisinya dengan\0
(karakter kosong).Sebelum diisi, string kosong karena
calloc()
menginisialisasi dengan nol (\0
).Setelah menyalin string, bisa digunakan seperti biasa.
Perbandingan calloc() vs malloc()
malloc()
Mengalokasikan blok memori tanpa menginisialisasi isinya.
calloc()
Mengalokasikan memori dan mengisinya dengan nol (0
).
Hasilnya:
malloc()
bisa mengandung nilai acak, sedangkancalloc()
selalu menginisialisasi memori dengan nol.
Last updated