الفرق بين تخصيص الذاكرة الثابتة والديناميكية

جدول المحتويات:

الفرق بين تخصيص الذاكرة الثابتة والديناميكية
الفرق بين تخصيص الذاكرة الثابتة والديناميكية

فيديو: الفرق بين تخصيص الذاكرة الثابتة والديناميكية

فيديو: الفرق بين تخصيص الذاكرة الثابتة والديناميكية
فيديو: 7 - 1 | C++ | Dynamic Memory Allocation - Part 1 (Arabic بالعربي) 2024, يوليو
Anonim

الفرق الرئيسي - تخصيص الذاكرة الثابتة مقابل تخصيص الذاكرة الديناميكية

في البرمجة ، من الضروري تخزين البيانات الحسابية. يتم تخزين هذه البيانات في الذاكرة. تُعرف مواقع الذاكرة لتخزين البيانات في برمجة الكمبيوتر بالمتغيرات. المتغيرات لها نوع بيانات محدد. لذلك ، يتم تخصيص الذاكرة لتشغيل البرامج. يمكن تخصيص الذاكرة بطريقتين. هم تخصيص الذاكرة الثابتة وتخصيص الذاكرة الديناميكي. في تخصيص الذاكرة الثابتة ، بمجرد تخصيص الذاكرة لا يمكن تغييرها. الذاكرة غير قابلة لإعادة الاستخدام. ولكن عند تخصيص الذاكرة الديناميكية ، يمكن تغييرها بمجرد تخصيصها.الفرق الرئيسي بين تخصيص الذاكرة الثابتة والديناميكية هو أنه في تخصيص الذاكرة الثابتة بمجرد تخصيص الذاكرة ، يتم إصلاح حجم الذاكرة أثناء تخصيص الذاكرة الديناميكي ، بمجرد تخصيص الذاكرة ، يمكن تغيير حجم الذاكرة.

ما هو تخصيص الذاكرة الثابتة؟

في تخصيص الذاكرة الثابتة ، يتم إصلاح الذاكرة المخصصة. بمجرد تخصيص الذاكرة ، لا يمكن تغييرها. الذاكرة لا يمكن زيادتها أو إنقاصها. على سبيل المثال ، في لغة C إذا كتب المبرمج int x ، مما يعني أن المتغير يمكنه تخزين قيمة عدد صحيح. يعتمد عدد البايت على الكمبيوتر. يمكن أن يكون هناك أيضًا مصفوفات. على سبيل المثال int x [5] ؛ هذا x عبارة عن مصفوفة يمكنها تخزين سلسلة من البيانات من نفس النوع. يمكنه تخزين خمسة عناصر صحيحة. لا يمكن تخزين أكثر من خمسة عناصر. في Java ، يمكن إنشاء مصفوفة كـ int arr =new int [5]؛ يمكن للمصفوفة "arr" تخزين 5 قيم صحيحة ولا يمكنها تخزين أكثر من ذلك.

الفرق بين تخصيص الذاكرة الثابتة والديناميكية
الفرق بين تخصيص الذاكرة الثابتة والديناميكية
الفرق بين تخصيص الذاكرة الثابتة والديناميكية
الفرق بين تخصيص الذاكرة الثابتة والديناميكية

الشكل 01: طرق تخصيص الذاكرة

في تخصيص الذاكرة الثابتة ، بمجرد تخصيص المتغيرات ، فإنها تظل دائمة. بعد التخصيص الأولي ، لا يمكن للمبرمج تغيير حجم الذاكرة. إذا قام المبرمج بتخصيص مصفوفة يمكنها تخزين 10 عناصر ، فلا يمكن تخزين قيم أكبر من ذلك المقدار المحدد. إذا قام المبرمج في البداية بتخصيص مصفوفة يمكن أن تحتوي على 10 عناصر ، ولكنها احتاجت فقط إلى 5 عناصر ، فسيكون هناك إهدار في الذاكرة. لم تعد هناك حاجة إلى هذه الذاكرة ، ولكن من غير الممكن أيضًا إعادة استخدام الذاكرة.تم إصلاح تخصيص الذاكرة الثابتة ولكن التنفيذ بسيط وسهل ، كما أنه سريع.

ما هو تخصيص الذاكرة الديناميكي؟

في بعض الأحيان يكون من الضروري تغيير حجم الذاكرة. لذلك يمكن تخصيص الذاكرة ديناميكيًا. اعتمادًا على عمليات الإدخال والحذف لعناصر البيانات ، يمكن أن تنمو الذاكرة أو تتقلص. يُعرف باسم تخصيص الذاكرة الديناميكي.

في لغة C ، ملف الرأس stdlib.h ، هناك أربع وظائف لتخصيص الذاكرة الديناميكي. هم calloc ، malloc ، realloc ومجانا. تقوم الوظيفة malloc () بتخصيص الحجم المطلوب للبايت وإرجاع مؤشر الفراغ ، مشيرًا إلى البايت الأول من الذاكرة المخصصة. تقوم الدالة calloc () بتخصيص الحجم المطلوب من البايتات وتهيئتها إلى الصفر. ثم يعيد مؤشر الفراغ إلى الذاكرة. تُستخدم الوظيفة free () لإعادة تخصيص الذاكرة المخصصة. ويمكن لوظيفة realloc تعديل الذاكرة المخصصة مسبقًا. بعد تخصيص الذاكرة باستخدام calloc أو malloc ، يتم إصلاح حجم الذاكرة ، ولكن يمكن زيادتها أو تقليلها باستخدام وظيفة realloc.في Java ، يمكن استخدام المجموعات لتخصيص الذاكرة الديناميكية.

الميزة الرئيسية لتخصيص الذاكرة الديناميكي هي أنه يوفر الذاكرة. يمكن للمبرمج تخصيص الذاكرة أو تحريرها حسب الضرورة. يمكن إعادة تخصيص الذاكرة أثناء التنفيذ ويمكنها تحرير الذاكرة عندما لا تكون مطلوبة. يعد تخصيص الذاكرة الديناميكي فعالاً أيضًا من تخصيص الذاكرة الثابتة. عيب واحد هو أن تنفيذ تخصيص الذاكرة الديناميكي أمر معقد.

ما هي أوجه التشابه بين تخصيص الذاكرة الثابتة والديناميكية؟

  • كلاهما آليتان لتخصيص الذاكرة.
  • كلاهما يجب أن ينفذه المبرمج يدويًا.

ما هو الفرق بين تخصيص الذاكرة الثابتة والديناميكية؟

تخصيص الذاكرة الثابتة مقابل الديناميكية

تخصيص الذاكرة الثابتة هو طريقة لتخصيص الذاكرة ، وبمجرد تخصيص الذاكرة يتم إصلاحها. تخصيص الذاكرة الديناميكي هو طريقة لتخصيص الذاكرة ، وبمجرد تخصيص الذاكرة يمكن تغييرها.
تعديل
في تخصيص الذاكرة الثابتة ، لا يمكن تغيير الحجم بعد التخصيص الأولي. في تخصيص الذاكرة الديناميكي ، يمكن تصغير الذاكرة أو تكبيرها وفقًا لذلك.
تنفيذ
تخصيص الذاكرة الثابتة سهل التنفيذ. تخصيص الذاكرة الديناميكي معقد في التنفيذ.
سرعة
في الذاكرة الثابتة ، يكون تنفيذ التخصيص أسرع من التخصيص الديناميكي للذاكرة. في الذاكرة الديناميكية ، يكون تنفيذ التخصيص أبطأ من تخصيص الذاكرة الثابتة.
استخدام الذاكرة
في تخصيص الذاكرة الثابتة ، لا يمكن إعادة استخدام الذاكرة غير المستخدمة. تخصيص الذاكرة الديناميكي يسمح بإعادة استخدام الذاكرة. يمكن للمبرمج تخصيص المزيد من الذاكرة عند الحاجة. يمكنه تحرير الذاكرة عند الضرورة.

ملخص - تخصيص الذاكرة الثابتة مقابل الديناميكية

في البرمجة ، يعد تخصيص الذاكرة الثابتة وتخصيص الذاكرة الديناميكي آليتين لتخصيص الذاكرة. الفرق بين تخصيص الذاكرة الثابتة والديناميكية هو أنه في تخصيص الذاكرة الثابتة بمجرد تخصيص الذاكرة ، يتم إصلاح حجم الذاكرة أثناء تخصيص الذاكرة الديناميكية ، بمجرد تخصيص الذاكرة ، يمكن تغيير حجم الذاكرة. يمكن للمبرمج أن يقرر ما إذا كانت الذاكرة يجب أن تكون ثابتة أو ديناميكية حسب التطبيق.

قم بتنزيل ملف PDF الخاص بتخصيص الذاكرة الثابتة مقابل تخصيص الذاكرة الديناميكية

يمكنك تنزيل نسخة PDF من هذه المقالة واستخدامها للأغراض غير المتصلة بالإنترنت وفقًا لملاحظة الاقتباس. يرجى تنزيل نسخة PDF من هنا: الفرق بين تخصيص الذاكرة الثابتة والديناميكية

موصى به: