Perbedaan antara alokasi memori statis dan dinamis

Perbedaan antara alokasi memori statis dan dinamis

Perbedaan utama - alokasi memori statis vs dinamis
 

Dalam pemrograman, perlu untuk menyimpan data komputasi. Data ini disimpan dalam memori. Lokasi memori untuk menyimpan data dalam pemrograman komputer dikenal sebagai variabel. Variabel memiliki tipe data tertentu. Oleh karena itu, memori dialokasikan untuk menjalankan program. Memori dapat dialokasikan dalam dua cara. Mereka adalah alokasi memori statis dan alokasi memori dinamis. Dalam alokasi memori statis, setelah memori dialokasikan, itu tidak dapat diubah. Memori tidak dapat digunakan kembali. Tetapi dalam alokasi memori dinamis, setelah memori dialokasikan, itu dapat diubah. Itu perbedaan utama Antara alokasi memori statis dan dinamis adalah itu Dalam alokasi memori statis setelah memori dialokasikan, ukuran memori diperbaiki saat dalam alokasi memori dinamis, setelah memori dialokasikan, ukuran memori dapat diubah.

ISI

1. Ikhtisar dan Perbedaan Utama
2. Apa itu alokasi memori statis
3. Apa itu alokasi memori dinamis
4. Kesamaan antara alokasi memori statis dan dinamis
5. Perbandingan berdampingan - alokasi memori statis vs dinamis dalam bentuk tabel
6. Ringkasan

Apa itu alokasi memori statis?

Dalam alokasi memori statis, memori yang dialokasikan diperbaiki. Setelah memori dialokasikan, itu tidak dapat diubah. Memori tidak dapat ditingkatkan atau dikurangi. Misalnya, dalam bahasa C jika programmer menulis int x, yang berarti bahwa variabel dapat menyimpan nilai integer. Jumlah byte tergantung pada komputer. Mungkin juga ada array. E.G. int x [5]; X ini adalah array yang dapat menyimpan urutan data yang memiliki tipe yang sama. Itu dapat menyimpan lima elemen integer. Itu tidak dapat menyimpan lebih dari lima elemen. Di Java, sebuah array dapat dibuat sebagai, int arr [] = int new [5]; Array 'arr' dapat menyimpan 5 nilai integer dan tidak dapat menyimpan lebih dari itu.

Gambar 01: Metode Alokasi Memori

Dalam alokasi memori statis, setelah variabel dialokasikan, mereka tetap permanen. Setelah alokasi awal, programmer tidak dapat mengubah ukuran memori. Jika programmer mengalokasikan array yang dapat menyimpan 10 elemen, tidak mungkin untuk menyimpan nilai lebih dari jumlah yang ditentukan. Jika programmer awalnya mengalokasikan array yang dapat menampung 10 elemen, tetapi hanya membutuhkan 5 elemen, maka ada pemborosan memori. Memori itu tidak lagi diperlukan, tetapi juga tidak mungkin untuk menggunakan kembali memori. Alokasi memori statis diperbaiki tetapi implementasinya sederhana dan mudah, dan juga cepat.

Apa itu alokasi memori dinamis?

Terkadang perlu mengubah ukuran memori. Jadi memori dapat dialokasikan secara dinamis. Tergantung pada penyisipan dan penghapusan elemen data, memori dapat tumbuh atau menyusut. Itu dikenal sebagai alokasi memori dinamis.

Dalam bahasa C, stdlib.file header h, ada empat fungsi untuk alokasi memori dinamis. Mereka calloc, malloc, realloc dan gratis. Fungsi malloc () mengalokasikan ukuran byte yang diperlukan dan mengembalikan pointer void, menunjuk byte pertama dari memori yang dialokasikan. Fungsi calloc () mengalokasikan ukuran byte yang diperlukan dan menginisialisasi mereka ke nol. Kemudian mengembalikan pointer void ke memori. Fungsi bebas () digunakan untuk merealokasi memori yang dialokasikan.  Dan fungsi realloc dapat memodifikasi memori yang dialokasikan sebelumnya. Setelah mengalokasikan memori menggunakan calloc atau malloc, ukuran memori diperbaiki, tetapi mereka dapat ditingkatkan atau dikurangi menggunakan fungsi realloc. Di Java, koleksi dapat digunakan untuk alokasi memori dinamis.

Keuntungan utama dari alokasi memori dinamis adalah menghemat memori. Programmer dapat mengalokasikan memori atau melepaskan memori seperlunya. Memori dapat dialokasikan kembali selama eksekusi dan dapat membebaskan memori saat tidak diperlukan. Alokasi memori dinamis juga efisien dari alokasi memori statis. Salah satu kerugian adalah menerapkan alokasi memori dinamis adalah kompleks.

Apa kesamaan antara alokasi memori statis dan dinamis?

  • Keduanya adalah mekanisme alokasi memori.
  • Keduanya harus diimplementasikan oleh programmer secara manual.

Apa perbedaan antara alokasi memori statis dan dinamis?

Alokasi memori statis vs dinamis

Alokasi memori statis adalah metode mengalokasikan memori, dan setelah memori dialokasikan, diperbaiki. Alokasi memori dinamis adalah metode mengalokasikan memori, dan setelah memori dialokasikan, itu dapat diubah.
 Modifikasi
Dalam alokasi memori statis, tidak mungkin untuk mengubah ukuran setelah alokasi awal. Dalam alokasi memori dinamis, memori dapat diminimalkan atau memaksimalkannya.
Penerapan
Alokasi memori statis mudah diterapkan. Alokasi memori dinamis sangat rumit untuk diterapkan.
 Kecepatan
Dalam memori statis, eksekusi alokasi lebih cepat dari alokasi memori dinamis. Dalam memori dinamis, eksekusi alokasi lebih lambat dari alokasi memori statis.
Pemanfaatan memori
Dalam alokasi memori statis, tidak dapat menggunakan kembali memori yang tidak digunakan. Alokasi memori dinamis memungkinkan penggunaan kembali memori. Programmer dapat mengalokasikan lebih banyak memori saat diperlukan . Dia bisa melepaskan ingatan saat perlu.

Ringkasan - Alokasi memori statis vs dinamis

Dalam pemrograman, alokasi memori statis dan alokasi memori dinamis adalah dua mekanisme untuk mengalokasikan memori. Perbedaan antara alokasi memori statis dan dinamis adalah bahwa dalam alokasi memori statis setelah memori dialokasikan, ukuran memori diperbaiki saat dalam alokasi memori dinamis, setelah memori dialokasikan, ukuran memori dapat diubah. Programmer dapat memutuskan apakah memori harus statis atau dinamis tergantung pada aplikasi.

Unduh PDF alokasi memori statis vs dinamis

Anda dapat mengunduh versi PDF artikel ini dan menggunakannya untuk tujuan offline sesuai catatan kutipan. Silakan unduh versi PDF di sini: Perbedaan antara alokasi memori statis dan dinamis

Referensi:

1.Kayal, Somnath. “Somnath Kayal.Perbedaan antara alokasi memori statis & alokasi memori dinamis, 1 Jan. 1970. Tersedia disini 
2.TutorialSpoint.com. “Array di C." Inti nya. Tersedia disini 
3.nareshtechnologies. Memori statis vs memori dinamis | T Tutorial Bahasa C, Teknologi Naresh I, 19 September. 2016. Tersedia disini