malloc() Fungsi di perpustakaan C dengan CONTOH

Apa itu malloc di C?

Fungsi malloc() adalah singkatan dari alokasi memori. Ini adalah fungsi yang digunakan untuk mengalokasikan blok memori secara dinamis. Ini mencadangkan ruang memori dengan ukuran tertentu dan mengembalikan penunjuk nol yang menunjuk ke lokasi memori. Pointer yang dikembalikan biasanya bertipe void. Artinya kita dapat menetapkan fungsi malloc ke pointer mana pun.

Sintaksis

ptr = (cast_type *) malloc (byte_size);

Di sini,

  • ptr adalah penunjuk cast_type.
  • Fungsi malloc mengembalikan pointer ke memori yang dialokasikan byte_size.
Example: ptr = (int *) malloc (50)

Ketika pernyataan ini berhasil dijalankan, ruang memori sebesar 50 byte dicadangkan. Alamat byte pertama dari ruang cadangan diberikan ke penunjuk ptr bertipe int.

Perhatikan contoh lain penerapan malloc:

#include <stdlib.h>
int main(){
int *ptr;
ptr = malloc(15 * sizeof(*ptr)); /* a block of 15 integers */
    if (ptr != NULL) {
      *(ptr + 5) = 480; /* assign 480 to sixth integer */
      printf("Value of the 6th integer is %d",*(ptr + 5));
    }
}

Keluaran:

Value of the 6th integer is 480

Apa itu malloc di C

  1. Perhatikan bahwa ukuran(*ptr) digunakan sebagai gantinya ukuran(int) untuk membuat kode lebih kuat ketika deklarasi *ptr diketik ke tipe data berbeda nanti.
  2. Alokasi mungkin gagal jika memori tidak mencukupi. Dalam hal ini, ia mengembalikan pointer NULL. Jadi, Anda harus memasukkan kode untuk memeriksa pointer NULL.
  3. Perlu diingat bahwa memori yang dialokasikan adalah bersebelahan dan dapat diperlakukan sebagai array. Kita dapat menggunakan aritmatika pointer untuk mengakses elemen array daripada menggunakan tanda kurung [ ]. Kami menyarankan untuk menggunakan + untuk merujuk ke elemen array karena penggunaan incrementation ++ atau += mengubah alamat yang disimpan oleh petunjuk.

Fungsi Malloc juga dapat digunakan dengan tipe data karakter maupun tipe data kompleks seperti struktur.