Perbezaan antara peruntukan memori statik dan dinamik

Perbezaan antara peruntukan memori statik dan dinamik

Perbezaan Utama - Peruntukan Memori Dinamik Statik VS
 

Dalam pengaturcaraan, perlu menyimpan data pengiraan. Data ini disimpan dalam ingatan. Lokasi memori untuk menyimpan data dalam pengaturcaraan komputer dikenali sebagai pembolehubah. Pembolehubah mempunyai jenis data tertentu. Oleh itu, ingatan diperuntukkan untuk menjalankan program. Memori boleh diperuntukkan dalam dua cara. Mereka adalah peruntukan memori statik dan peruntukan memori dinamik. Dalam peruntukan memori statik, apabila memori diperuntukkan ia tidak dapat diubah. Ingatan tidak boleh diguna semula. Tetapi dalam peruntukan memori dinamik, apabila memori diperuntukkan, ia dapat diubah. The Perbezaan utama antara peruntukan memori statik dan dinamik ialah Dalam peruntukan memori statik Setelah memori diperuntukkan, saiz memori ditetapkan semasa dalam peruntukan memori dinamik, apabila memori diperuntukkan, saiz memori dapat diubah.

Kandungan

1. Gambaran Keseluruhan dan Perbezaan Utama
2. Apakah peruntukan memori statik
3. Apakah peruntukan memori dinamik
4. Persamaan antara peruntukan memori statik dan dinamik
5. Perbandingan sampingan - Peruntukan memori dinamik statik dalam bentuk jadual
6. Ringkasan

Apakah peruntukan memori statik?

Dalam peruntukan memori statik, memori yang diperuntukkan ditetapkan. Setelah memori diperuntukkan, ia tidak dapat diubah. Ingatan tidak dapat ditingkatkan atau menurun. Contohnya, dalam bahasa C jika pengaturcara menulis int x, yang bermaksud bahawa pemboleh ubah dapat menyimpan nilai integer. Bilangan bait bergantung pada komputer. Terdapat juga tatasusunan. E.g. int x [5]; X ini adalah array yang dapat menyimpan urutan data yang mempunyai jenis yang sama. Ia boleh menyimpan lima elemen integer. Ia tidak dapat menyimpan lebih daripada lima elemen. Di Java, array boleh dibuat sebagai, int arr [] = int baru [5]; Array 'ar' dapat menyimpan 5 nilai integer dan tidak dapat menyimpan lebih dari itu.

Rajah 01: Kaedah peruntukan memori

Dalam peruntukan memori statik, apabila pembolehubah diperuntukkan, mereka tetap kekal. Selepas peruntukan awal, pengaturcara tidak dapat mengubah saiz memori. Sekiranya pengaturcara memperuntukkan array yang boleh menyimpan 10 elemen, tidak mungkin untuk menyimpan nilai lebih daripada jumlah yang ditentukan. Sekiranya pengaturcara pada mulanya memperuntukkan array yang boleh memegang 10 elemen, tetapi hanya memerlukan 5 elemen, maka ada pembaziran ingatan. Ingatan itu tidak lagi diperlukan, tetapi juga tidak mungkin untuk menggunakan semula memori. Peruntukan memori statik ditetapkan tetapi pelaksanaannya mudah dan mudah, dan ia juga pantas.

Apakah peruntukan memori dinamik?

Kadang -kadang perlu mengubah saiz memori. Jadi ingatan dapat diperuntukkan secara dinamik. Bergantung pada penyisipan dan memadam elemen data, memori dapat tumbuh atau mengecut. Ia dikenali sebagai peruntukan memori dinamik.

Dalam bahasa C, stdlib.H fail header, terdapat empat fungsi untuk peruntukan memori dinamik. Mereka adalah Calloc, Malloc, Realloc dan Percuma. Fungsi malloc () memperuntukkan saiz bait yang diperlukan dan mengembalikan penunjuk yang tidak sah, menunjuk bait pertama memori yang diperuntukkan. Fungsi calloc () memperuntukkan saiz bait yang diperlukan dan memulakannya menjadi sifar. Kemudian mengembalikan penunjuk tidak sah ke ingatan. Fungsi percuma () digunakan untuk menyusun semula memori yang diperuntukkan.  Dan fungsi realloc dapat mengubah memori yang diperuntukkan sebelumnya. Setelah memperuntukkan memori menggunakan Calloc atau Malloc, saiz memori ditetapkan, tetapi mereka dapat ditingkatkan atau dikurangkan dengan menggunakan fungsi Realloc. Di Jawa, koleksi boleh digunakan untuk peruntukan memori dinamik.

Kelebihan utama peruntukan memori dinamik ialah ia menjimatkan ingatan. Pengaturcara dapat memperuntukkan memori atau melepaskan memori yang diperlukan. Memori boleh diagihkan semula semasa pelaksanaan dan boleh membebaskan memori apabila tidak diperlukan. Peruntukan Memori Dinamik juga cekap daripada peruntukan memori statik. Satu kelemahan ialah melaksanakan peruntukan memori dinamik adalah kompleks.

Apakah persamaan antara peruntukan memori statik dan dinamik?

  • Kedua -duanya adalah mekanisme peruntukan memori.
  • Kedua -duanya harus dilaksanakan oleh pengaturcara secara manual.

Apakah perbezaan antara peruntukan memori statik dan dinamik?

Peruntukan Memori Dinamik Statik Vs

Peruntukan memori statik adalah kaedah memperuntukkan memori, dan apabila memori diperuntukkan, ia tetap. Peruntukan Memori Dinamik adalah kaedah memperuntukkan memori, dan apabila memori diperuntukkan, ia dapat diubah.
 Pengubahsuaian
Dalam peruntukan memori statik, tidak mungkin untuk mengubah saiz selepas peruntukan awal. Dalam peruntukan memori dinamik, memori dapat diminimumkan atau memaksimumkan dengan sewajarnya.
Pelaksanaan
Peruntukan memori statik mudah dilaksanakan. Peruntukan memori dinamik adalah rumit untuk dilaksanakan.
 Kelajuan
Dalam ingatan statik, pelaksanaan peruntukan lebih cepat daripada peruntukan memori dinamik. Dalam ingatan dinamik, pelaksanaan peruntukan lebih lambat daripada peruntukan memori statik.
Penggunaan memori
Dalam peruntukan memori statik, tidak dapat menggunakan semula ingatan yang tidak digunakan. Peruntukan memori dinamik membolehkan penggunaan semula memori. Pengaturcara dapat memperuntukkan lebih banyak ingatan apabila diperlukan . Dia boleh melepaskan ingatan apabila perlu.

Ringkasan - Peruntukan Memori Dinamik Statik Vs

Dalam pengaturcaraan, peruntukan memori statik dan peruntukan memori dinamik adalah dua mekanisme untuk memperuntukkan memori. Perbezaan antara peruntukan memori statik dan dinamik adalah bahawa dalam peruntukan memori statik apabila memori diperuntukkan, saiz memori ditetapkan semasa dalam peruntukan memori dinamik, apabila memori diperuntukkan, saiz memori dapat diubah. Pengaturcara boleh memutuskan sama ada memori mestilah statik atau dinamik bergantung pada aplikasi.

Muat turun PDF Peruntukan Memori Statik Vs Dinamik

Anda boleh memuat turun versi PDF artikel ini dan menggunakannya untuk tujuan luar talian mengikut nota petikan. Sila muat turun versi PDF di sini: Perbezaan antara peruntukan memori statik dan dinamik

Rujukan:

1.Kayal, Somnath. "Somnath Kayal."Perbezaan antara peruntukan memori statik & peruntukan memori dinamik, 1 Jan. 1970. Terdapat di sini 
2.TutorialSpoint.com. "Array di C." Tujuan itu. Terdapat di sini 
3.Nareshtechnologies. Memori statik vs memori dinamik | C Tutorial Bahasa, Naresh I Technologies, 19 Sept. 2016. Terdapat di sini