Malloc () Fungsi di perpustakaan C dengan CONTOH

Isi kandungan:

Anonim

Apakah malloc di C?

Fungsi malloc () bermaksud peruntukan memori. Ini adalah fungsi yang digunakan untuk mengalokasikan blok memori secara dinamis. Ia menyimpan ruang memori dengan ukuran yang ditentukan dan mengembalikan penunjuk nol yang menunjuk ke lokasi memori. Penunjuk yang dikembalikan biasanya tidak sah. Ini bermaksud bahawa kita dapat menetapkan fungsi malloc ke penunjuk mana pun.

Sintaks

ptr = (cast_type *) malloc (byte_size);

Di sini,

  • ptr adalah penunjuk jenis cor_type.
  • Fungsi malloc mengembalikan penunjuk ke memori byte_size yang diperuntukkan.
Example: ptr = (int *) malloc (50)

Apabila pernyataan ini berjaya dilaksanakan, ruang memori 50 bait dikhaskan. Alamat bait pertama dari ruang simpanan ditugaskan ke penunjuk ptr jenis int.

Pertimbangkan satu lagi contoh pelaksanaan malloc:

#include 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));}}

Pengeluaran:

Value of the 6th integer is 480

  1. Perhatikan bahawa sizeof (* ptr) digunakan dan bukan sizeof (int) untuk membuat kod lebih mantap ketika * deklarasi ptr ditaip ke jenis data yang lain kemudian.
  2. Peruntukan mungkin gagal sekiranya memori tidak mencukupi. Dalam kes ini, ia mengembalikan penunjuk NULL. Jadi, anda mesti memasukkan kod untuk memeriksa penunjuk NULL.
  3. Perlu diingat bahawa memori yang dialokasikan bersebelahan dan dapat dianggap sebagai array. Kita boleh menggunakan aritmetik penunjuk untuk mengakses elemen array daripada menggunakan tanda kurung []. Kami menyarankan untuk menggunakan + untuk merujuk pada elemen array kerana menggunakan kenaikan ++ atau + = mengubah alamat yang disimpan oleh penunjuk.

Fungsi Malloc juga dapat digunakan dengan jenis data watak dan juga jenis data yang kompleks seperti struktur.